Perl Array Grep () -funktion

Funktionen Perl grep () är ett filter som kör ett regelbundet uttryck på varje element i en matris och endast returnerar elementen som utvärderar som Sann. Att använda vanliga uttryck kan vara extremt kraftfullt och komplex. Funktionerna grep () använder syntaxen @List = grep (Expression, @ array).

Använda Grep () -funktionen för att returnera riktiga uttryck

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

Tänk på @myNames-arrayen som en rad med numrerade rutor, från vänster till höger och numrerade med början med noll. Grep () -funktionen går igenom vart och ett av elementen (rutorna) i matrisen och jämför innehållet med det vanliga uttrycket. Om resultatet är Sann, innehållet läggs sedan till i den nya @grepNames-arrayen.

I exemplet ovan söker det reguljära uttrycket / ^ A / efter valfritt värde som börjar med ett stort A. Efter att ha siktat igenom innehållet i matrisen @myNames blir värdet på @grepNames ('Alexander', 'Andrew') , de enda två elementen som börjar med ett kapital A.

Reversing Expression in a Grep () -funktionen

Ett snabbt sätt att göra den här funktionen mer kraftfull är att vända det reguljära uttrycket med INTE-operatören. Det reguljära uttrycket letar sedan efter element som utvärderas till falsk och flyttar dem in i den nya matrisen.

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

I exemplet ovan söker det reguljära uttrycket efter något värde som inte börjar med ett stort A. Efter att ha siktat igenom innehållet i matrisen @myNames blir värdet på @grepNames ('Jacob', 'Michael', 'Joshua') ',' Matthew ').

Om Perl

Perl är ett anpassningsbart programmeringsspråk som ofta används för att utveckla webbapplikationer. Perl är ett tolkat, inte kompilerat språk, så dess program tar mer CPU-tid än ett sammanställt språk - ett problem som blir mindre viktigt när processorns hastighet ökar. Att skriva i Perl är dock snabbare än att skriva på ett sammanställt språk, så den tid du sparar är din.