FilterPerl

Unter Perl gibt es eine Funktion, mit deren Hilfe man aus einem Array Elemente herausfiltert.

SeitenanfangSeitenendegrep Beschreibung und Beispiele

grep ist ein Operator, der aus einem Array die Elemente zurückliefert, die auf einen angegebenen Ausdruck passen. Die Syntax lautet @gefiltert=grep(Ausdruck, @array). Dazu ein Beispiel: Es sollen alle Wörter mit vier Buchstaben aus einem Array gefiltert werden:

@woerter=("Auto", "Baum", "Hahn", "Hund", "Kamel", "Frosch", "Mund", "Kamin");

@vierBuchstaben = grep(length($_)==4, @woerter);
print (join(", ", @vierBuchstaben));
Auto, Baum, Hahn, Hund, Mund

Man kann im Ausdruck des grep-Operators auch einen regulären Ausdruck angeben - zum Beispiel, um alle Wörter zu bekommen, in denen eine Zahl enthalten ist:

@woerter=("Atari", "C64", "Pentium", "Amiga500");

print join ", ", grep /\d/ , @woerter;
C64, Amiga500

SeitenanfangSeitenendegrep und s///

Man kann grep also auf ganze Arrays anwenden. Hier ist ein Beispiel von recht exotischer Art:

@woerter=("Atari", "C64", "Pentium", "Amiga500");

print join(", ", grep s/\d//g , @woerter)."\n";
print join(", ", @woerter);
C, Amiga
Atari, C, Pentium, Amiga

Seitenanfang FehlermeldungHilfe zur Fehlermeldung © 2001-2003 Email an den AutorPerl, Lehrstuhl Mathe II, Uni Bayreuth