2008年7月3日木曜日

Perlの||で関数のデフォルト値

Perlの $foo = a || b; 的なので、||がどういう感じで演算されるのか気になったのでちょっと書いてみた ちなみにPHPの||はBooleanを返すので、こういった書き方はしません。 Perlはtrueとかfalseが予約語にないんだねー。知らなかった。 スカラー変数だけじゃなく、@や%も今度テストしますw こうやってブログに書く事で自分の記憶を助けているだけですw
#!/usr/local/bin/perl
use strict;
use warnings;

sub test{
 my $foo = shift || 'default';
 $foo .= "\n";
}

undef $a;
print test(1);  # 1
print test(""); # default
print test(0);  # default
print test($a); # default

0 件のコメント: