これらの2の間に何らかの違いがある:定義済みのものを使用する必要がありますか?
print "Undefined\n" unless defined $test;
と
print "Undefined\n" unless $test;
これらの2の間に何らかの違いがある:定義済みのものを使用する必要がありますか?
print "Undefined\n" unless defined $test;
と
print "Undefined\n" unless $test;
$test eq ''
ある場合
print "Undefined\n" unless $test;
プリントは未定義番号0、文字列 '0' とすべての定義され、空の文字列( '')が、偽。 $test
を3つの値のいずれかに設定してコードを実行すると、その差異が表示されます。
defined
テストでは、値が定義されているかどうかがチェックされます。 defined
変数に値が与えられています。任意の値。 1つでも偽です。
(OK、値ではなくundef
。)
はい。 $test
がundef
ある場合
print "Undefined\n" unless defined $test;
プリントは不定。 $test
がundef
又は$test == 0
又は
あなたはPerlで_definedness_と_truth_との違いを説明することによって、あなたの答えを向上させることができます。 – simbabque
また、文字列 "0"は偽であるが、文字列 "00"は真(両方とも '== 0 ')であることにも注意されたい。 –
最後の行は以下のように書かれています:* print $ test eq '0'(数字は0を含む)または '$ test eq '''( 'undef'を含む) – ikegami