Thread Wert Prüfen
(7 answers)
Opened by -umbrella at 2010-01-27 01:22 Code (perl): (dl
)
1 2 3 my $action = param('action'); if (defined $action) {$action =~ s/[^a-zA-Z0-9_-]//g;} if (!defined $action) {$action = 'home';} defined überprüft ob eine variabel undef ist ist sie Leer $action eq "" ist die Abfrage auf defined wahr. Code (perl): (dl
)
1 2 3 my $action = param('action'); if ($action) {$action =~ s/[^a-zA-Z0-9_-]//g;} if (!$action) {$action = 'home';} Eine Variable ist wahr, wenn der Wert definiert ist und der Inhalt nicht "0" (Zahl Null) oder "" (leer) ist. Deine beiden Beispiele machen verschiedenes. Im ersten Fall wird $action nur dann mit "home" gefüllt wenn die variable nicht definiert ist. Ist sie nur leer, dann bleibt sie es. Im zweiten Fall wird die Variable mit "home" gefüllt wenn die entweder nicht definiert, Leer ist, oder "0" enthält. Willst du dass die Variable nur dann mit "home" gefüllt wird wenn sie Leer, oder nicht definiert ist, kannst du es so machen: Code (perl): (dl
)
1 2 3 my $action = param('action'); if (defined($action)) {$action =~ s/[^a-zA-Z0-9_-]//g;} if (!defined($action) || $action eq '') {$action = 'home';} Hier kann auch "0000000" als Wert für $action stehen ohne das er verändert wird. |