array auf inhalt prüfen
Mark
- perl
hi,
ich versuche ein array zuüberprüfen, was aber nicht ganz klappen will.
my @user = "";
if(@user eq "") { print "Sorry..." } else { print "OK" }
obwohl @user eigentlich leer ist gibt das program immer OK aus.
ich glaube das das array "@user" nicht leer ist weil es ein array ist. da muss die if bedingung anders gemacht werden. ich komm jetzt blos nicht drauf was da nicht stimmt.
wäre sehr dankbar für hilfreiche antworten.
Sup!
@user = () oder undef @user ist evtl. besser.
Und das ganze Array mit einem Zeichenkettenvergleich mit einem leeren String zu vergleichen, macht wirklich nicht so viel Sinn.
Vielleicht versuchst Du lieber, Elemente aus dem Array zu shiften oder zu poppen und vergleichst die dann.
Gruesse,
Bio
Hallo,
ich versuche ein array zuüberprüfen, was aber nicht ganz klappen will.
Deine Abfrage wird immer wahr sein, schau dir mal an, wie du @user definiert hast. Was du vermutlich wissen möchtest, ist, ob @user irgendwelche Elemente enthält. Dazu würden mir auf die Schnelle diese Varianten einfallen:
a) if ( $user[0] eq "" ) { print "Sorry..." } else { print "OK" };
b) my $anzahl = @user;
if ( $anzahl = 0 ) { print "Sorry..." } else { print "OK" };
Hoffe es hilft
Torsten