Perlの引数に配列を渡す方法

Perlの引数に配列を渡すと、勝手に展開されてしまいます。
リファレンスを渡してあげればいいだけなんですが。

結構、忘れる。

記事にすればおぼわるかなと。

@a = (1, 2, 3, 4);
@b = (5, 6, 7, 8);
&hogehoge(\@a, \@b);

sub hogehoge
{
  my @x = @{shift()};
  my @y = @{shift()};
}

もしくは、そもそもをリファレンスで宣言(?)する。

$a = [1, 2, 3, 4];
$b = [5, 6, 7, 8];

&hogehoge($a, $b);

上の書き方のが、好きかな。


関数の中がもっとスマートに書ける気がするなぁ。