eval do { local $/; }; # psuedo require! die $@ if $@; for my $sub ( 'foo', 'undefined' ) { if ( main->can($sub) ) { main->$sub; } else { print "$sub() not defined\n"; } } __DATA__ sub foo { print "foo() worked\n"; }