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