wantarray
wantarray
実行中のサブルーチンの戻り値として、リストが要求されている場合に真を返し、スカラーが要求されている場合には偽を返します。
サンプルプログラム
my ($h, $m, $s) = h_m_s(); # リストを要求 print "$h時 $m分 $s秒\n"; my $now = h_m_s(); # スカラーを要求 print "現在時刻は $now です。\n"; sub h_m_s { my ($sec, $min, $hour) = (localtime)[0..2]; if (wantarray) { return ($hour, $min, $sec); } else { return sprintf "%02d:%02d:%02d", $hour, $min, $sec; } }
関連項目
・return関数・scalar関数