Useless use of private variable in void context at myscript.pl line 27. factory: 'lulz' eval: 'lulz' factory: 'frunz' Variable "$var" is not available at (eval 2) line 1. Use of uninitialized value $var in concatenation (.) or string at (eval 2) line 1. eval: '' factory: 'lulz' eval: 'lulz' #### return sub{ my ($code) = ($var); my $estr = "print \"eval: '\$code'\n\""; eval $estr; }