Jan Trippler schrieb am 18.02.2003 21:08: > On Die, 18 Feb 2003 at 00:33 (+0100), Mario Duve wrote: >> Hallo, >> >> Wie könnte ich folgenden Regulären Ausdruck erweitern, >> damit nicht z.B. 432.444.259.666 eigegeben werden kann? >> Also größer gleich 1, kleiner gleich 254 >> >> ---->> code >> >> if ($ip =~ /^(\d{1,3}\.){3}\d{1,3}$/) { >> return 1; >> } else { >> return 0; >> } >> >> <<----- > > Wie schon geschrieben: Mit RE wohl nicht zu machen. Meine Variante: > > my $rc = 0; > foreach (split /\./, $ip) { > $rc = 1 unless ($_ & 255) == $_ and $_; > } > > Jan >
geht schon mit regex: if ($ip =~ m/^(\d|[01]?\d\d|2[0-4]\d|25[0-5])\. (\d|[01]?\d\d|2[0-4]\d|25[0-5])\. (\d|[01]?\d\d|2[0-4]\d|25[0-5])\. (\d|[01]?\d\d|2[0-4]\d|25[0-5])$/) { print "\n\nIP = $IP ist eine gültige IP\n; } (Bedingungsanteil alles in einer Zeile, oder \<CR>) -hth -Jörg -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)