數字與undef進行比較

看下面一個例子:
#!/usr/bin/perl -w
use strict;
my $var = undef;
if($var > 0){
    print "> 0\n";
}
elsif($var == 0){
    print "== 0\n";
}
else{
    print "< 0";
}

執行結果如下:
[running]test@localhost:/usr/local/app$ perl p.pl
Use of uninitialized value in numeric gt (>) at p.pl line 5.
Use of uninitialized value in numeric eq (==) at p.pl line 5.
== 0

顯然,在進行數據比較時,undef會被默認轉換爲數字0進行比較。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章