Die Perl grep () -Funktion ist ein Filter, der einen regulären Ausdruck für jedes Element eines Arrays ausführt und nur die Elemente zurückgibt, die als ausgewertet werden wahr. Die Verwendung regulärer Ausdrücke kann äußerst leistungsfähig und komplex sein. Die Funktionen grep () verwenden die Syntax @List = grep (Ausdruck, @array).
Verwenden der Grep () - Funktion, um echte Ausdrücke zurückzugeben
@myNames = ('Jacob', 'Michael', 'Joshua', 'Mathew', 'Alexander', 'Andrew');
@grepNames = grep (/ ^ A /, @myNames);
Stellen Sie sich das @ myNames-Array als eine Reihe nummerierter Felder vor, die von links nach rechts verlaufen und beginnend mit einer Null nummeriert sind. Die Funktion grep () durchläuft jedes Element (Kästchen) im Array und vergleicht deren Inhalt mit dem regulären Ausdruck. Wenn das Ergebnis ist wahrDer Inhalt wird dann dem neuen Array @grepNames hinzugefügt.
Im obigen Beispiel sucht der reguläre Ausdruck / ^ A / nach einem Wert, der mit einem Großbuchstaben A beginnt. Nach dem Durchsuchen des Inhalts des @ myNames-Arrays wird der Wert von @grepNames zu ('Alexander', 'Andrew'), den einzigen beiden Elementen, die mit einem Großbuchstaben A beginnen.
Umkehren des Ausdrucks in einer Grep () - Funktion
Eine schnelle Möglichkeit, diese bestimmte Funktion leistungsfähiger zu machen, besteht darin, den regulären Ausdruck mit dem Operator NOT umzukehren. Der reguläre Ausdruck sucht dann nach Elementen, die ausgewertet werden falsch und verschiebt sie in das neue Array.
@myNames = ('Jacob', 'Michael', 'Joshua', 'Mathew', 'Alexander', 'Andrew');
@grepNames = grep (! / ^ A /, @myNames);
Im obigen Beispiel sucht der reguläre Ausdruck nach einem Wert, der nicht mit einem Großbuchstaben A beginnt. Nach dem Durchsuchen des Inhalts des @ myNames-Arrays wird der Wert von @grepNames zu ('Jacob', 'Michael', 'Joshua', 'Matthew').
Über Perl
Perl ist eine anpassbare Programmiersprache, die häufig zur Entwicklung von Webanwendungen verwendet wird. Perl ist eine interpretierte, nicht kompilierte Sprache, daher benötigen ihre Programme mehr CPU-Zeit als eine kompilierte Sprache - ein Problem, das mit zunehmender Geschwindigkeit der Prozessoren an Bedeutung verliert. Das Schreiben in Perl ist jedoch schneller als das Schreiben in einer kompilierten Sprache. Sie sparen also Zeit.