Thread Überprüfen, ob Array noch ein Element enthält (13 answers)
Opened by [HR]Doomrunner at 2003-10-05 12:54

Dubu
 2003-10-06 13:07
#60950 #60950
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Statt googeln geht uebrigens auch perldoc -f join oder ein Besuch bei www.perldoc.com. :)

Ich erlaeutere es aber trotzdem mal:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# $names sei eine Referenz auf ein Array.
# Dann kann ich mit @$names das ganze Array ansprechen.

# Suche alle Elemente aus @$names, die "wahr" sind, d.h. definiert
# und ungleich dem Leerstring oder der Null:
my @liste1 = grep $_, @$names;

# Nimm jedes einzelne Element aus @liste1, umgib es mit 
# %...% und fuehre ein $dbh->quote damit aus. Gib die 
# Ergebnisliste zurueck:
my @liste2 = map { $dbh->quote("%$_%") } @liste1;

# Fuege alle Elemente von @liste2 zusammen, jeweils getrennt 
# durch die Zeichenkette " or ":
my $string1 = join (' or ', @liste2);

# Haenge vor die Zeichenkette $string1 den Text "where ":
my $filter = 'where ' . $string;

In Perl kann man sich netterweise die ganzen Zwischenwerte speichern, es sieht dann nur etwas unuebersichtlicher aus - und deutlich kuerzer.
:cool:

View full thread Überprüfen, ob Array noch ein Element enthält