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関数