Funcția Perl grep () este un filtru care rulează o expresie regulată pe fiecare element al unui tablou și returnează numai elementele care se evaluează ca Adevărat. Utilizarea expresiilor obișnuite poate fi extrem de puternică și complexă. Funcțiile grep () folosesc sintaxa @List = grep (Expression, @array).
@myNames = ("Jacob", "Michael", "Joshua", "Mathew", "Alexander", "Andrew");
@grepNames = grep (/ ^ A /, @myNames);
Gândiți-vă la tabloul @myNames ca pe un rând de căsuțe numerotate, de la stânga la dreapta și numerotate începând cu un zero. Funcția grep () parcurge fiecare dintre elementele (casetele) din tablou și compară conținutul lor cu expresia obișnuită. Dacă rezultatul este Adevărat, conținutul este apoi adăugat la noul tablou @grepNames.
În exemplul de mai sus, expresia obișnuită / ^ A / caută orice valoare care începe cu majuscule A. După setarea prin conținutul tabloului @myNames, valoarea @grepNames devine ('Alexander', 'Andrew') , singurele două elemente care încep cu un capital A.
Un mod rapid de a face această funcție mai puternică este de a inversa expresia regulată cu operatorul NU. Expresia obișnuită caută apoi elemente care evaluează fals și le mută în noul tablou.
@myNames = ("Jacob", "Michael", "Joshua", "Mathew", "Alexander", "Andrew");
@grepNames = grep (! / ^ A /, @myNames);
În exemplul de mai sus, expresia obișnuită caută orice valoare care să nu înceapă cu majuscule A. După setarea prin conținutul tabloului @myNames, valoarea @grepNames devine ('Jacob', 'Michael', 'Joshua ',' Matei ').
Perl este un limbaj de programare adaptabil utilizat frecvent pentru dezvoltarea aplicațiilor web. Perl este un limbaj interpretat, nu compilat, astfel încât programele sale ocupă mai mult timp procesor decât un limbaj compilat - o problemă care devine mai puțin importantă pe măsură ce viteza procesoarelor crește. Totuși, scrierea în Perl este mai rapidă decât scrierea într-un limbaj compilat, deci timpul pe care îl economisești este al tău.