- ベストアンサー
$x=''とした場合と$x=0とした場合で
$xにどちらが設定されているか判別する手段はあるのでしょうか? 有るとすればどうすればいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
単純に if($x eq '0') で大丈夫じゃないでしょうか? $x = 0; if($x eq '0') { print "0を設定\n"; } elsif(! $x and defined $x) { print "'' を設定\n"; } elsif($x) { print "$x を設定\n"; } else { print "\$x は未定義\n"; }
その他の回答 (1)
- t140
- ベストアンサー率39% (59/150)
回答No.1
if ($x eq ''){ } elsif ($x eq '0'){ }
質問者
お礼
ありがとうございます $x=''; if($x eq '') { print "x is blank\n"; } if($x==0) { print "x is 0\n"; } の結果は x is blank x is 0 となります 最初に''をチェックして次に0をチェックするべきでね
お礼
$x=''; if($x eq '') { print "x is blank\n"; } if($x eq '0') { print "x is 0\n"; } と $x=0; if($x eq '') { print "x is blank\n"; } if($x eq '0') { print "x is 0\n"; } でチェックしました
補足
ありがとうございます 最初に0であるか調べるのはもっとも危険ですね 最初に'0'であるか調べるべきですね ''であるか調べるのも手ですね