Halihallo Daniel
Über E-Mail schreibst du:
<cite>
Also ich glaube ich muss mal näher erläutern was ich überhaupt will....
$content =$inhalt{'text'};
$content=~ tr/A-Z/a-z/;
if ($content =~ /testwort/ || $content =~ /arsch/) {
print "So nicht!!";
}
So...hier wird nun nur das Feld "Text" überprüft. Es sollen aber auch die Felder Ort, Alter, ICQ und so weiter überprüft werden.
Verstehst Du jetzt was ich meine ;-)
</cite>
Sollen die Felder Ort, Alter und ICQ auf die selben Wörter ("testwort" und "arsch")
durchsucht werden? - Wenn ja, dann kannst du alle concaten, sprich:
$content = $inhalt{'text'} . $inhalt{'anderes_feld'} ... und dann mit if testen.
Für den Speicher besser wäre
while ( my ($n,$v) = each %inhalt ) {
# $n ist der Name des Name/Value-Paares, also z. B. text oder icq
# $v ist der Wert des entsprechenden Feldes.
if ($v =~ /testwort/ ...) {
print 'So nicht!!';
last; # gleich fertig mit Schleife, nur ein Fehler auslesen, sonst weg damit.
}
}
da du dann nicht zweimal alle Daten im Speicher hälst.
Falls du jedes Feld separat auslesen willst, dann musst du diese auch explizit separat
testen, also:
if ($inhalt{'text'} =~ ...) {
# tu dies und das...
}
if ($inhalt{'icq'} =~ ...) {
# tu das und jenes
}
...
Zu guter letzt: Fragen gehören ins Forum, besonders, wenn der Thread noch immer sichtbar
ist.
Falls die Frage noch nicht zu deiner Zufriedenheit beantwortet ist, kannst du _hier_
nachfragen.
Viele Grüsse
Philipp