Thread falsche bedingung in if-block ?!
(12 answers)
Opened by popcorn5 at 2005-10-21 10:42
ich glaube wir kommen der sache näher. du hast also ein script gepostet, von dem du glaubst, dass es deinen fehler reproduziert?!? so können wir dir natürlich nicht helfen.
also, zuerst einmal ist "" nicht gleich 0 nicht gleich undef. wenn du testen willst, ob eine variable undef ist, kannst du so etwas machen. Code: (dl
)
if ( defined $foo ) { print "definiert\n" } else { print "nicht definiert\n" } wenn du allerdings nur testen willst, ob die variable einen leerstring enthält, bekommst du eine warnung, wenn die variable undef ist. so etwas kann man folgendermassen umgehen Code: (dl
)
if ( defined $foo and $foo ne "" ) { print "da is was\n" } else { print "da is nix\n" } man sieht auch oft, dass programmierer etwas wie if ( $foo ) {} verwenden. bedenke aber, dass so ein "vergleich" auch false ist, wenn $foo = "0"; $_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0 F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B |