Perl - undefとは?
【要まとめ】
・perl undef(Google)
undef関数は、すでに定義された変数の定義を無効にする。関数の返却値は常に未定義です。
引数を省略して、未定義値(undef)を返し、サブルーチンの返却値として使うことができる。
・Perl5編 第16章 配列を操作する関数
・Perlでundefが真になる場合→Perlでは(undef)は真
変数の値が未定義なので空文字に見えるのか?それとも実際に空文字列が格納されているのかを区別することができる。
この関数は未定義か定義済みかをチェックし、定義済みの場合は"真", 未定義の場合は"偽"を返す。(変数が文字も数値ももたないNULLの状態が未定義)
use strict; use warnings; my $var = undef;#未定義を直接変数に入れている。 print $var; 【結果】 Use of uninitialized value $var in print at 22.pl line 6. コマンドプロンプト上だとこうなる。つまり変数が未定義なのだ。
$name = "たろう"; print 1 if defined $name;#if definedは直訳すると、「もし定義されていれば」か? 【実行結果】(コマンドプロンプトより) 変数が定義されていれば、1、未定義ならば何も表示されなかった。