「サブルーチンに文字列をそのまま渡さずにリファレンスで渡すべきか」
ということである。
直感的に、リファレンスで渡した方がよい事はあっても悪いことはない、と思う。
直接渡すと、サブルーチンでその文字列のコピーを持つから、文字列をコピーする時間がかかり、文字列用のメモリ領域も余計に取る、のではないだろうか?
実際に試してみても速度の変化は確認できなかったが、「続初めてのPerl」に以下のような記述があるので、私の考えは間違っていないと思う。
Perlは、@_を作るために、配列のすべての中身をコピーしなければなりません。要素が少なければ問題はありませんが、配列が大きくなったときには、サブルーチンに渡すためだけにデータをコピーするのは少し無駄です。