You can get that warning from the following even before 5.14:
use strict; use warnings; sub foo { my ($x) = @_; return sub { eval 'print "$x\n";' }; } sub bar { my ($x) = @_; return sub { $x if 0; eval 'print "$x\n";' }; } foo("foo")->(); bar("bar")->();
(Note: The if 0 just avoids a void context warning. Removing it doesn't change the outcome.)
That you also get it in 5.14 under some circumstances involving illegal code (my ... if ...;) is not a problem.
In reply to Re: Closure warning with Perl 5.14?
by ikegami
in thread Closure warning with Perl 5.14?
by BerntB
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |