ためになるホームページ お問い合わせ




TOP > Perl > definedと||
||
条件演算子で使用する||は、真・偽を判断する。よって、その値が0, "0", ""の時は、偽と判断する。また||は、配列にはつかえない。

||の例
$a = 0;
$b = 1;


$c = $a || $b;
print "$c\n";
#1と表示

$c ||= $a;
print "$c\n";
#1と表示

$c = 0;
$a = 3;
$c ||= $a;
print "$c\n";
#3と表示


@a = qw(abc def ghi jkl);
@b = ();
@c = @a || @b;

print "@c\n";
#4と表示。||は、スカラー変数として解釈される

@c = (@a) ? @a : @b;
print "@c\n";
#abcdefghijklと表示

@b = qw(ABC DEF GHI JKL);

@c = @b unless (@a);
print "@c\n";
#abcdefghijklと表示


defined
definedは値自体が設定されているかをみるので、0であっても、definedは真を返す。

definedの例
$d = "";
print defined($d) . "\n";
#1を出力

undef $d;
print defined($d) . "\n";
#何も表示されない


$c = defined($ARGV[0]) ? shift(@ARGV) : "Nothing";

print  "$c\n";
#引数があれば引数、なければNothingと表示







Copyright 2007 ためになるホームページ All Rights Reserved.