eq geht nicht!!!!
Andi
- cgi
0 Markus Möller0 Andi
0 csx0 timothy
Hallo ihr!
Also ich weiß echt nicht was ich falsch mach, aber vielleicht könnt ihr mir ja weiterhelfen. Ganz kurz ich habe eine foreach-Schleife die ein Array durchsucht, doch es findet den Eitrag nicht obwohl er vorhanden ist. Sieht quasi so aus:
foreach(@data) {
if($_ eq "FREIZEITEN") {
$check = 1;
next;
}
}
Ich verstehs echt nicht, weil der Eintrag FREIZEITEN doch in @data steht.
Bitte helft mir weiter!! Danke schon jetzt mal.
Adee
Hallo!
Gib doch in der foreach-Schleife mal den aktuellen Wert aus. Und zwar mit Begrenzungszeichen. Also in etwa so:
foreach(@data) {
print ("*$_*");
Oft schleichen sich Leerzeichen ein. So steht dann z.B. "FREIZEITEN " da, was natürlich nicht gleich "FREIZEITEN" ist.
Hi
Danke aber dass hab ich schon probiert daran liegts anscheinend
nicht!!!
Hallo ihr!
Hallo Du! :)
foreach(@data) {
if($_ eq "FREIZEITEN") {
$check = 1;
next;
}
»»}
Ich verstehs echt nicht, weil der Eintrag FREIZEITEN doch in @data steht.
Und wenn du mal ein s/[\r\n]//g; in die erste Zeile der Schleife schreibst? Nur falls du das aus einer Datei ausließt, und da noch Zeilenumbrüche drinstehen sollten (sei es Win, Apple oder *nix-Format).
Ansonsten, vielleicht statt eines "eq" ein if($_=~/FREIZEITEN/)...
Hi
also:
@data = qw(Tore Betten Freiheiten FREIZEITEN);
my $check=2;
foreach(@data) {
if($_ eq "FREIZEITEN") {
$check = 1;
}
}
print $check;
Läuft bei mir - sprich: "$check ist gleich 1" Daraus folgt: $_ ist nie, niemals "FREIZEITEN" ;-)
Prüf' das noch einmal.
Bye
Timothy