Alexander (HH): Perl: Zahl Vergleichsoperator

Beitrag lesen

Moin Moin!

Ich nutze warnings, diese werden aber irgendwie von Fcgi unterdrückt.

Mumpitz! FastCGI schreibt Warnungen raus, nur nicht dort hin, wo Du sie erwartest.

Davon abgesehen hast Du zwei getrennte Probleme, die getrennt behandelt werden müssen.

Erstens willst Du wissen, ob die Eingabe eine Zahl ist oder nicht.

Zweitens willst Du wissen, ob die eingegebene Zahl größer als irgendein Minumum ist (kannst Du Dich bitte mal zwischen 5 und 20 entscheiden?).

Schitt 1: Eingabevalidierung

Ich gehe mal davon aus, dass Du nur nicht-negative Integer haben willst, falls nicht, brauchst Du eine andere RE:

  
$input=~/^(\d+)$/ or die "Bad Input";  
my $n=$1; # untaint  

Sehr viel mehr zum Thema findest Du in perlsec.

Schritt 2: Fallunterscheidung

  
if ($n>$min) {  
    print "Mach was mit $n"  
} else {  
    print "Ignoriere $n";  
}  

Sowas gibt es übrigens auch schon fertig verpackt: Data::FormValidator.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".