Funkcija Perl grep () je filter, ki izvaja redni izraz na vsakem elementu matrike in vrne samo elemente, ki ocenjujejo kot prav. Uporaba pravilnih izrazov je lahko izjemno močna in zapletena. Funkcije grep () uporabljajo skladnjo @List = grep (Izraz, @array).
Uporaba funkcije Grep () za vrnitev pravih izrazov
@myNames = ('Jacob', 'Michael', 'Joshua', 'Mathew', 'Alexander', 'Andrew');
@grepNames = grep (/ ^ A /, @myNames);
Zamislite polje @myNames kot vrstico oštevilčenih polj, ki segajo od leve proti desni in oštevilčene, začenši z ničlo. Funkcija grep () gre skozi vsak element (polja) v matriki in njihovo vsebino primerja z regularnim izrazom. Če je rezultat prav, se vsebina nato doda v nov niz @grepNames.
V zgornjem primeru redni izraz / ^ A / išče vsako vrednost, ki se začne z velikim začetkom A. Po presejanju vsebine niza @myNames vrednost @grepNames postane ("Aleksander", "Andrew"), edina dva elementa, ki se začneta z veliko začetnico A.
Povratek izraza v funkcijo Grep ()
Eden od hitrih načinov za izboljšanje zmogljivosti te funkcije je, da se regularni izraz obrne z operaterjem NOT. Nato regularni izraz išče elemente, ki jih ocenjujejo
lažno in jih premakne v nov niz.@myNames = ('Jacob', 'Michael', 'Joshua', 'Mathew', 'Alexander', 'Andrew');
@grepNames = grep (! / ^ A /, @myNames);
V zgornjem primeru redni izraz išče vsako vrednost, ki se ne začne z velikim začetkom A. Po presejanju vsebine niza @myNames vrednost @grepNames postane vrednost ('Jacob', 'Michael', 'Joshua', 'Matthew').
O Perlu
Perl je prilagodljiv programski jezik, ki se pogosto uporablja za razvoj spletnih aplikacij. Perl je jezik interpretiranega, ne sestavljenega jezika, zato njegovi programi zavzamejo več časa CPU kot sestavljeni jezik - težava, ki postaja z naraščanjem hitrosti procesorjev manj pomembna. Vendar je pisanje v Perlu hitrejše kot pisanje v sestavljenem jeziku, zato je čas, ki ga prihranite, vaš.