my $var;
mysub();
sub initialize
{
$var = 'print "hi\n"';
print "in initialize: $var\n";
}
sub mysub
{
print "in mysub: $var\n";
}
BEGIN { initialize() }
####
in initialize: print "hi\n"
in mysub: print "hi\n"
####
sub mysub
{
print "in mysub: $var\n";
print eval("$var"), "\n";
}
####
in initialize: print "hi\n"
in mysub: print "hi\n"
hi
1
####
sub mysub
{
print "in mysub: $var\n";
print eval("...$var..."), "\n";
print $@ if $@;
}
####
in initialize: print "hi\n"
in mysub: print "hi\n"
syntax error at (eval 1) line 1, near "..."
####
sub mysub
{
print "in mysub: $var\n";
print eval("$var"), "\n";
}
####
in initialize: print "hi\n"
in mysub: print "hi\n"
hi
1