use strict; use warnings; $_=[(25.5*6<$.)=(-$.,$.); $.*=@{_}=map{$.+=$/;$_+$.}grep{$_%2}@$_; push@_,map{if(!int){$.+=$.}else{$.+=$/}; $_+$.}grep{($_+1)%2}@$_;die map{chr}@{_} [eval join(q{,},2,1,4,3,0)]=>$/||\$\<<1; #### use strict; use warnings; $_ = [(25.5*6<$.)=(-$.,$.); # $/=10; and for confusion, $.=$. $.*=@{_}=map{ # 4) scalar@{[33,55]}=2, so $.=10*2; $.+=$/; # 2) $. = $. + $/; (-10+10=0; then 0+10=10) $_+$. # 3) 33+0=33; 55+10=65 } grep{$_%2}@$_; # 1) get the odd numbers from $_: 33, 55 # At this point: @_ = [ 33, 65 ]; push @_, map{ if(!int){ # 2) if(00) $.+=$. # $.=$.+$., or $.=40+40 }else{ # 3) else (44 or 32) $.+=$/ # $.=$.+$/; (20+10; then 30+10) }; $_+$. # 4) return 44+30; then 32+40; then 00+80 } grep{($_+1)%2}@$_; # 1) get the even numbers from $_: 44, 32, 00 # Now: @_ = [ 33, 65, 74, 72, 80 ] die # 3) die("JAPH!\n") map{ chr # 2) chr(74),chr(65),chr(80),chr(72),chr(33) # plus chr(10) from =>$/ } @{_}[eval join(q{,},2,1,4,3,0)] # 1) fancy for @_[2,1,4,3,0] =>$/ # this is still 10 ||\$\<<1; # this can all be ignored, since $/ is true