Perlベストプラクティス 5.8章のメモ。
wantarrayはコンテキストによって返り値がかわる。コンテキストには、リスト、スカラー、voidコンテキストがあるが、それらに対してwantarrayは、真、長さ0の文字列、undefを返す。なので、voidコンテキストであることを調べるには、definedを使わないとだめ。
croak 'Useless use of this in void context' unless defined wantarray;
voidコンテキストでの不適切な構文の仕様を警告する例外を書くのは、Perlの世界ではヨクアルコトらしいけど、知らんかったんで。てか、voidコンテキストてほとんど意識してないわ。