[1] Perl 会自动在数字和字符串之间进行转换,例如,在进行比较的时候,如果想以字符串方式比较,最好使用正则表达式。
#!/usr/bin/perl
$email="";
my $var=\$email;
if ($$var != "0") {
print "check value 0\n";
}
if ($$var !~ /^[01]$/) {
print "check value 1\n";
}
if ($$var != "0") {
print "check value 2\n";
}
if ($email != "90") {
print "check value 3\n";
}
if ($email != "0") {
print "check value 4\n";
}
|
输出如下:
[harry@harry_rh52]$ ./a.pl
check value 1
check value 3
"check value 4"没有被输出是因为空字符串被转换成整数0了。
一个不方便的地方就是如果你希望$email的值是0或者1,如果别人给你的是一个字符串,就要小心这个陷阱。
阅读(1287) | 评论(0) | 转发(0) |