Perl › 関数 › here Perlではコンテキストという概念があるので、スカラあるいはリストをコンテキストに応じて返却することができます。 sub func_name{ # 処理 ... return wantarray ? リスト : スカラ; } wantarrayを使えば、リストコンテキストの場合とスカラコンテキストの場合を区別して、戻り値を返却することができます。 wantarrayが使われている標準関数にはlocaltime関数があります。 wantarray関数は使わないほうがよい wantarray関数は、非常に発見しにくバグを生み出しだしがちなので、使用することはお勧めしません。たとえば、スカラが返ってくると思って、関数の引数に指定したら、リストが返っていたということが、起こりうるからです。 # スカラが返ってくると思っていたが、実際はリストが返ってきてしまう fu