Hallo,
Ich will eine Funktion haben, die mir WAHR zurückgibt, wenn die Eingabe nicht leer ist und nicht von 1 und 31 ist. Bis jetzt habe ich es so gelöst:
if (($$gebtag ne '') && (!grep /$$gebtag/, (1..31))) {
$$error = 1;
$$gebdatenerror = 'Der Geburtstag ist nicht gültig !';
}
Komischerweise gibt mir die Funktion FALSE zurück, wenn ich 0 eingebe. Wenn ich 32 eingebe, funktioniert es wie es soll. Bei -1 funktioniert es auch richtig, aber warum wird 0 miteinbezogen?
Ich habe auch schon versucht 2..31 anzugeben, aber 1 und 0 liefern auch FALSE zurück. Warum ist das so und wie kann ich es lösen?
P.S Ich könnte naütlich prüfen, ob die Eingabe != 0 ist, aber ich würde lieber wissen, warum 0 bei dieser Funktion miteinbezogen wird.
$xNeTworKx.
--
Mit Computern lösen wir Probleme, die wir ohne sie gar nicht hätten.
Mit Computern lösen wir Probleme, die wir ohne sie gar nicht hätten.