return
return EXPR
EXPRを返値としてサブルーチンを抜けます。evalの中で実行した場合は、evalを抜けるだけで、evalを実行したサブルーチンは抜けません。
returnを呼び出さずにサブルーチンが終了した場合、サブルーチンは最後に評価した値を返値として返します。
EXPRがスカラーコンテキストで評価されるか、リストコンテキストで評価されるかは、サブルーチンがどちらのコンテキストで呼び出されたかによって変わります。サブルーチンがどちらのコンテキストで呼び出されたかを調べる場合は、wantarray関数を使います。
サンプルプログラム
use strict; use warnings; my $val = 100; if (is_odd($val)) { printf "%d is odd.\n", $val; } else { printf "%d is even.\n", $val; } sub is_odd { my $num = shift; # 判定する値 if ($num % 2 == 0) { return 0; } else { return 1; } }
関連項目
・eval関数・wantarray関数