print "my_sub ", test_for_sub("my_sub") ? "exists\n" : "doesn't exist\n"; print "no_sub ", test_for_sub("no_sub") ? "exists\n" : "doesn't exist\n"; sub test_for_sub { my ($expr) = @_; return eval "defined &$expr"; } sub my_sub { 1; }