Hallo an alle,
kann mir jemand sagen, warum folgende Abfrage nicht den "und" Wert (Variable $zaehler) berücksichtigt, sondern nur die "oder" Werte? Die Variable $zaehler wir überhaupt nicht berücksichtigt. Die Abfrage soll nur wahr sein, wenn die Variable $zaehler den Wert 1 hat und eine der Zeiten mit der Variable $hm stimmen. Wenn die Zeiten stimmen wird die Abfrage als Wahr durchlaufen. Die Variable $zaehler wird ignoriert, egal was drin steht. :-(
my $zaehler = 2;
if ($zaehler eq 1 && $hm eq "00:58" || $hm eq "01:58" || $hm eq "02:58" || $hm eq "03:58" || $hm eq "04:58" || $hm eq "05:58" || $hm eq "06:58" || $hm eq "07:58" || $hm eq "08:58" || $hm eq "09:58" || $hm eq "10:58" || $hm eq "11:58" || $hm eq "12:58" || $hm eq "13:58" || $hm eq "14:58" || $hm eq "15:58" || $hm eq "16:00" || $hm eq "17:58" || $hm eq "18:58" || $hm eq "19:58" || $hm eq "20:58" || $hm eq "21:58" || $hm eq "22:58" || $hm eq "23:58") { ...
Danke
Hallo,
eq ist ein Vergleich für Zeichenketten. Also hier schon mal == benutzen. Und dann würde ich die ganzen "oder" klammern. Also ( und ( oder oder)).
Grüße Jörg
Gesendet von iPhone mit Tapatalk
Super Dankeschön. Dachte == und eq ist gleichwertig. Dann teste ich das mal :)
Numerischer und String- Vergleich ;)
ZitatPerl unterscheidet Vergleichsoperatoren für Zahlen und für Zeichenketten
http://wiki.selfhtml.org/wiki/Perl/Operatoren
VG
Frank
Vielen Dank franky08
Wer lesen kann ... ;D
Hatte vorher schon auf SELFHTML nachgesehen. Muss mir angewöhnen nicht nur alles zu überfliegen, sondern genau zu lesen :-)
Der Vollständigkeit halber hier nun die korrekte Variante:
if ($zaehler == 1 && ($hm eq "00:58" || $hm eq "01:58" || $hm eq "02:58" || $hm eq "03:58" || $hm eq "04:58" || $hm eq "05:58" || $hm eq "06:58" || $hm eq "07:58" || $hm eq "08:58" || $hm eq "09:58" || $hm eq "10:58" || $hm eq "11:58" || $hm eq "12:58" || $hm eq "13:58" || $hm eq "14:58" || $hm eq "15:58" || $hm eq "16:58" || $hm eq "17:58" || $hm eq "18:58" || $hm eq "19:58" || $hm eq "20:58" || $hm eq "21:58" || $hm eq "22:58" || $hm eq "23:58")) {