$hash = { "s" => "", "d" => "19.28.18.28", "p1" => "", "p2" => "88" }; $s="192.168.3.79"; $d="19.28.18.28"; $p1="3269"; $p2="88"; print $s." -> ".$$hash{"s"}."\n"; if ( $s =~ $$hash{ "s" }) { print "\t1 ok\n";}else { print "\t1 NOK\n" +;} print $d." -> ".$$hash{"d"}."\n"; if ($d =~ $$hash{ "d" }){ print "\t2 ok\n";}else{ print "\t2 NOK\n";} print $p1." -> ".$$hash{"p1"}."\n"; if ($p1 =~ $$hash{ "p1"}){ print "\t3 ok\n";}else{ print "\t3 NOK\n";} print $p2." -> ".$$hash{"p2"}."\n"; if($p2 =~ $$hash{ "p2" }) { print "\t4 ok\n";}else { print "\t4 NOK\n" +;}
Output
192.168.3.79 -> 1 ok 19.28.18.28 -> 19.28.18.28 2 ok 3269 -> 3 NOK 88 -> 88 4 ok
And when I comment the second test (if ($d =~ $$hash{ "d" }){), it prints:
Output
192.168.3.79 -> 1 ok 19.28.18.28 -> 19.28.18.28 3269 -> 3 ok 88 -> 88 4 ok
Why the third test could be one time true and the other time false ?
ThanksIn reply to Multiple Test Regex Does not work the way I expect by stunbox
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |