Slik bruker du Perl Array Grep () -funksjonen

Perl grep () -funksjonen er et filter som kjører et regelmessig uttrykk på hvert element i en matrise og returnerer bare elementene som evaluerer som ekte. Å bruke vanlige uttrykk kan være ekstremt kraftig og sammensatt. Grep () -funksjonene bruker syntaks @List = grep (Uttrykk, @ array).

Bruke Grep () -funksjon for å returnere ekte uttrykk

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

Tenk på matrisen @myNames som en rad med nummererte bokser, som går fra venstre mot høyre og nummerert med en null. Grep () -funksjonen går gjennom hvert av elementene (boksene) i matrisen og sammenligner innholdet med det vanlige uttrykket. Hvis resultatet blir ekte, blir innholdet deretter lagt til den nye @grepNames-matrisen.

I eksemplet over er det ordinære uttrykket / ^ A / på jakt etter en hvilken som helst verdi som starter med en bokstav A. Etter å ha siktet gjennom innholdet i @myNames-matrisen, blir verdien av @grepNames ('Alexander', 'Andrew'), de eneste to elementene som begynner med en hovedstad A.

instagram viewer

Reversing the Expression in a Grep () -funksjon

En rask måte å gjøre denne spesielle funksjonen kraftigere er å snu det ordinære uttrykket med NOT-operatøren. Det ordinære uttrykket ser da etter elementer som evalueres til falsk og flytter dem inn i den nye matrisen.

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

I eksemplet ovenfor leter det ordinære uttrykket etter enhver verdi som ikke starter med en hovedstad A. Etter å ha siktet gjennom innholdet i @myNames-matrisen, blir verdien av @grepNames ('Jacob', 'Michael', 'Joshua', 'Matthew').

Om Perl

Perl er et tilpasningsdyktig programmeringsspråk som ofte brukes til å utvikle webapplikasjoner. Perl er et tolket, ikke kompilert språk, så programmene tar mer CPU-tid enn et kompilert språk - et problem som blir mindre viktig når prosessorenes hastighet øker. Å skrive i Perl er imidlertid raskere enn å skrive på et sammenstilt språk, så tiden du sparer er din.