2017-09-06 19 views

答えて

13

$test eq ''ある場合

print "Undefined\n" unless $test; 

プリントは未定義番号0、文字列 '0' とすべての定義され、空の文字列( '')が、偽。 $testを3つの値のいずれかに設定してコードを実行すると、その差異が表示されます。

definedテストでは、値が定義されているかどうかがチェックされます。 defined変数に値が与えられています。任意の値。 1つでも偽です。

(OK、値ではなくundef。)

1

はい。 $testundefある場合

print "Undefined\n" unless defined $test; 

プリントは不定。 $testundef又は$test == 0又は

+2

あなたはPerlで_definedness_と_truth_との違いを説明することによって、あなたの答えを向上させることができます。 – simbabque

+4

また、文字列 "0"は偽であるが、文字列 "00"は真(両方とも '== 0 ')であることにも注意されたい。 –

+0

最後の行は以下のように書かれています:* print $ test eq '0'(数字は0を含む)または '$ test eq '''( 'undef'を含む) – ikegami

関連する問題