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


in reply to Re: Eval str return different from Eval block return
in thread Eval str return different from Eval block return

Which OS and Perl version Zaxo? I still get incorrect results
use strict; use warnings; sub capture {\@_}; sub readonly{ my $v=$_[0]; eval{$_[0]=$v;1} ? 0 : 1 } $\="\n"; print "No eval :",readonly(capture(5)->[0]); eval ' print "In str eval :",readonly(capture(5)->[0]); '; eval { print "In block eval :",readonly(capture(5)->[0]); }; print "Block Eval ret :",readonly(eval{capture(5)}->[0]); print "Str Eval ret :",readonly((eval'capture(5)')->[0]); print "Str Eval ret2 :",readonly(eval('capture(5)')->[0]); __END__ No eval :1 In str eval :1 In block eval :1 Block Eval ret :1 Str Eval ret :0 Str Eval ret2 :0

Yves / DeMerphq
---
Writing a good benchmark isnt as easy as it might look.