Funkcija Perl grep () je filtar koji izvodi regularni izraz na svakom elementu matrice i vraća samo elemente koji se ocjenjuju kao pravi. Korištenje pravilnih izraza može biti izuzetno moćan i složen. Funkcije grep () koriste sintaksu @List = grep (Izraz, @array).
Korištenje funkcije Grep () za vraćanje istinskih izraza
@myNames = ('Jacob', 'Michael', 'Joshua', 'Mathew', 'Alexander', 'Andrew');
@grepNames = grep (/ ^ A /, @myNames);
Razmislite o nizu @myNames kao nizu numeriranih okvira, koji idu s lijeva na desno i numeriranim počevši od nule. Funkcija grep () prolazi kroz sve elemente (okvire) u nizu i uspoređuje njihov sadržaj s regularnim izrazom. Ako je rezultat pravi, sadržaj se dodaje u novi niz @grepNames.
U gornjem primjeru, pravilan izraz / ^ A / traži bilo koju vrijednost koja započinje s velikim slovom A. Nakon prosijanja sadržaja niza @myNames, vrijednost @grepNames postaje ('Alexander', 'Andrew'), jedina dva elementa koja započinju s velikim slovom A.
Obrtanje izraza u funkciji grep ()
Jedan brz način da se ova posebna funkcija učini moćnijom je obrnuti regularni izraz s operatorom NOT. Tada regularni izraz traži elemente na kojima treba procijeniti lažan i premješta ih u novi niz.
@myNames = ('Jacob', 'Michael', 'Joshua', 'Mathew', 'Alexander', 'Andrew');
@grepNames = grep (! / ^ A /, @myNames);
U gornjem primjeru, pravilan izraz traži bilo koju vrijednost koja ne počinje s velikim slovom A. Nakon prosijavanja sadržaja niza @myNames vrijednost @grepNames postaje ('Jacob', 'Michael', 'Joshua', 'Matthew').
O Perlu
Perl je prilagodljivi programski jezik koji se često koristi za razvoj web aplikacija. Perl je interpretirani, a ne sastavljeni jezik, tako da njegovi programi zauzimaju više vremena za procesor nego sabrani jezik - problem koji postaje manje važan s povećanjem brzine procesora. Međutim, pisanje na Perlu je brže od pisanja na jeziku sažetka, tako da vrijeme koje štedite je vaše.