Como usar a função Perl Array Grep ()

A função Perl grep () é um filtro que executa uma expressão regular em cada elemento de uma matriz e retorna apenas os elementos que são avaliados como verdade. O uso de expressões regulares pode ser extremamente poderoso e complexo. As funções grep () usam a sintaxe @List = grep (Expressão, @array).

Usando a função Grep () para retornar expressões verdadeiras

@myNames = ('Jacob', 'Michael', 'Joshua', 'Mathew', 'Alexander', 'Andrew');
@grepNames = grep (/ ^ A /, @myNames);

Pense na matriz @myNames como uma linha de caixas numeradas, indo da esquerda para a direita e numeradas começando com um zero. A função grep () passa por cada um dos elementos (caixas) na matriz e compara seu conteúdo com a expressão regular. Se o resultado for verdade, o conteúdo é adicionado à nova matriz @grepNames.

No exemplo acima, a expressão regular / ^ A / está procurando qualquer valor que comece com uma letra maiúscula A. Depois de examinar o conteúdo da matriz @myNames, o valor de @grepNames se torna ('Alexander', 'Andrew'), os únicos dois elementos que começam com uma letra maiúscula A.

instagram viewer

Invertendo a expressão em uma função Grep ()

Uma maneira rápida de tornar essa função específica mais poderosa é reverter a expressão regular com o operador NOT. A expressão regular procura elementos que avaliam como falso e os move para a nova matriz.

@myNames = ('Jacob', 'Michael', 'Joshua', 'Mathew', 'Alexander', 'Andrew');
@grepNames = grep (! / ^ A /, @myNames);

No exemplo acima, a expressão regular está procurando por qualquer valor que não comece com uma letra maiúscula A. Depois de examinar o conteúdo da matriz @myNames, o valor de @grepNames se torna ('Jacob', 'Michael', 'Joshua', 'Matthew').

Sobre o Perl

Perl é uma linguagem de programação adaptável frequentemente usada para desenvolver aplicativos da web. O Perl é uma linguagem interpretada, não compilada, portanto seus programas ocupam mais tempo de CPU que uma linguagem compilada - um problema que se torna menos importante à medida que a velocidade dos processadores aumenta. No entanto, escrever em Perl é mais rápido que escrever em um idioma compilado; portanto, o tempo que você economiza é seu.

instagram story viewer