Fonction Perl Array Grep ()

La fonction grep () de Perl est un filtre qui exécute une expression régulière sur chaque élément d'un tableau et renvoie uniquement les éléments évalués comme vrai. L'utilisation d'expressions régulières peut être extrêmement puissante et complexe. Les fonctions grep () utilisent la syntaxe @List = grep (Expression, @array).

Utilisation de la fonction Grep () pour renvoyer de vraies expressions

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

Considérez le tableau @myNames comme une rangée de cases numérotées, allant de gauche à droite et numérotées en commençant par un zéro. La fonction grep () parcourt chacun des éléments (cases) du tableau et compare leur contenu à l'expression régulière. Si le résultat est vrai, le contenu est ensuite ajouté au nouveau tableau @grepNames.

Dans l'exemple ci-dessus, l'expression régulière / ^ A / recherche toute valeur commençant par un A. majuscule. Après avoir parcouru le contenu du tableau @myNames, la valeur de @grepNames devient ('Alexander', 'Andrew') , les deux seuls éléments commençant par un A majuscule.

Inverser l'expression dans une fonction Grep ()

Un moyen rapide de rendre cette fonction particulière plus puissante consiste à inverser l'expression régulière avec l'opérateur NOT. L'expression régulière recherche ensuite des éléments qui faux et les déplace dans le nouveau tableau.

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

Dans l'exemple ci-dessus, l'expression régulière recherche toute valeur qui ne commence pas par un A. majuscule. Après avoir passé au crible le contenu du tableau @myNames, la valeur de @grepNames devient ('Jacob', 'Michael', 'Joshua ', 'Matthieu').

À propos de Perl

Perl est un langage de programmation adaptable fréquemment utilisé pour développer des applications Web. Perl est un langage interprété et non compilé, donc ses programmes prennent plus de temps CPU qu'un langage compilé - un problème qui devient moins important à mesure que la vitesse des processeurs augmente. Cependant, l'écriture en Perl est plus rapide que l'écriture dans un langage compilé, donc le temps que vous économisez vous appartient..