リファレンス演算子ではまった

perlでArrayのリファレンスを得ようとしてハマったのでメモ。

[$a, $b, $c] と \($a, $b, $c) は別物。@x = ($a, $b, $c); \@x と \($a, $b, $c)も同様。
前者はArrayのリファレンスですが、後者は \$a, \$b, \$cを要素とするArrayになる。

perl -le 'print [1,3,4];'    #=> ARRAY(0x800d80)
perl -le 'print \(1,3,4);'   #=> SCALAR(0x800d80)SCALAR(0x800f00)SCALAR(0x801890)

上のように直接 [] を書けるような場合は良いのだけど、splitのように関数の結果としてArrayが帰ってくる場合、そのArrayのリファレンスを得るためには一度変数に代入しないといけない?

perl -le 'print \split "-", "1-2"'           #=> SCALAR(0x800d80)SCALAR(0x800e94)
perl -le 'my @a = split "-", "1-2"; print \@a' #=> ARRAY(0x8018cc)

()で括ったりしてもだめぽ。
なんか一時的に名前を用意するのがやな感じですが、何かもっといい方法があるのでしょうか?

追記:

はてブコメントで指摘頂いたとおり、[]で括れば良かったようです。そうか…分かれば簡単なことなのに…。

perl -le 'print [(1,2,3)]'                  #=> ARRAY(0x800ef4)
perl -le 'print [split "-", "1-2"]'         #=> ARRAY(0x800ef4)

勉強になりました、ありがとうございます。m(_ _)m