use strict; use warnings; my @listofsubs = qw(sub1 wibble sub2 sub3); my $obj = bless {}; for my $sub (@listofsubs) { if (my $callSub = $obj->can ($sub)) { $callSub->(); next; } print "Can't $sub\n"; } sub sub1 { print "does sub1 stuff\n"; } sub sub2 { print "does sub2 stuff\n"; } sub sub3 { print "does sub3 stuff\n"; }