$ perl590 -w /tmp/p Variable "$x" is not available at (eval 1) line 1. Use of uninitialized value in concatenation (.) or string at (eval 1) line 1. x= $ cat /tmp/p #!/usr/bin/perl { my $x = 1; sub f { eval q(print "x=$x\n") } } f;