http://www.perlmonks.org?node_id=1011288


in reply to Re^2: return of assigment in list context (bug!)
in thread return of hash-assigment in list context (bug?)

It appears to have been fixed between 5.12 and 5.14, though nothing is noted in perl5140delta.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
  • Comment on Re^3: return of assigment in list context (bug!)

Replies are listed 'Best First'.
Re^4: return of assigment in list context (one-liner for testing)
by LanX (Saint) on Jan 02, 2013 at 16:24 UTC
    Thanks!

    I browsed thru various perldelta513* w/o spotting it.

    For those interested here a one-liner for testing your perl-version:

    lanx@nc10-ubuntu:~$ perl -e '@k=( %h=(a=>42,b=>2,a=>1) ); print "$] Bu +g: @k\n" unless @k ~~ [%h]' 5.010000 Bug: b 2 b 2

    I'll gonna update a non-smartmatch solution here...

    UPDATE:

    w/o smart-match for even older perl versions (maybe the bug was introduced somewhere)

    lanx@nc10-ubuntu:~$ perl -e '%h2=@k=( %h=(a=>42,b=>2,a=>1) ); delete @ +h{keys %h2}; print "$] Bug: @k\n" if %h' 5.010000 Bug: b 2 b 2

    Cheers Rolf

    UPDATE: replace version-vars s'$^V'$]'g in code-sections