$ perl5.10.0 -we'{ my $x; sub foo { eval q!print $x! } foo }' Use of uninitialized value $x in print at (eval 1) line 1. $ perl5.10.0 -we'{ my $x; sub foo { eval q!print $x! } } foo' Variable "$x" is not available at (eval 1) line 2. Use of uninitialized value $x in print at (eval 1) line 1.