Kako se koristi funkcija Perl Arp Grep ()

click fraud protection

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 ()

instagram viewer

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.

instagram story viewer