+{...} の意味

  • 検索しにくくてこれが何だったのか悩んでたけれどようやく再発見

たとえば、新しいハッシュを作って、それへのリファレンスを返す関数が欲しければ、 以下のような選択肢があります:

    sub hashem {        { @_ } }   # silently wrong
    sub hashem {       +{ @_ } }   # ok
    sub hashem { return { @_ } }   # ok

その一方で、以下のようにすることもできます:

    sub showem {        { @_ } }   # ambiguous (currently ok, but may change)
    sub showem {       {; @_ } }   # ok
    sub showem { { return @_ } }   # ok

先頭にある +{ や {; が、その式が実際には ハッシュのリファレンスなのかブロックなのかの 曖昧さを除去するためにあります。

http://perldoc.jp/docs/perl/5.8.8/perlref.pod