10.6 戻り値のコンテキストを取得する

関数が呼び出されたコンテキストを取得したい。これができれば、コンテキストに応じた処理が行える。つまり、1つの関数で複数の処理が行える。

  • wantarray関数を使用する
if (wantarray()) {
  # リストコンテキスト
} 
elsif (defined wantarray()) {
  # スカラーコンテキスト
} 
else {
  # voidコンテキスト
}