http://qs321.pair.com?node_id=11147265


in reply to Test if a string is a sub name

You can use exists and defined to find out:
#!/usr/bin/perl use warnings; use strict; use feature qw{ say }; sub My::Filters::known {} sub My::Filters::forward; for my $string (qw(My::Filters::known My::Filters::unknown My::Filters::forward) ) { say join "\t", $string, defined &$string, exists &$string; }

Output:

My::Filters::known 1 1 My::Filters::unknown My::Filters::forward 1
map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]