use strict; use warnings; my @q = (\&abc, \&def); my $msg; my $param = "hhhhhh"; foreach my $q (@q) { if (defined(&$q)) { $msg .= $q->($param); } else { $msg .= "cannot call $q\n"; } } print $msg; sub abc { my $q = shift; return "hello from ABC($q)\n"; }