Perlに変数は空かどうかを判断するには?
Perlでは、defined関数を用いて変数が空かどうかを判断できます。defined関数はブール値を返し、変数が定義済みで空でない場合は真、それ以外の場合は偽を返します。
以下は例です
my $var1 = "";
my $var2;
my $var3 = "Hello";
if (defined $var1) {
print "var1 is defined\n";
} else {
print "var1 is not defined\n";
}
if (defined $var2) {
print "var2 is defined\n";
} else {
print "var2 is not defined\n";
}
if (defined $var3) {
print "var3 is defined\n";
} else {
print "var3 is not defined\n";
}
本質的に
var1 is defined
var2 is not defined
var3 is defined
このサンプルでは、$var1 は空文字列に代入され、$var2 は代入されておらず、$var3 は “Hello” に代入されています。 defined 関数はこれらの 3 つの変数の状態をそれぞれ判定し、対応する結果を出力します。