in reply to calling subroutines from variables

Update: Doh! Didn't read through the thread far enough to see Tanktalus had already given a better version of the same trick (twice).

Really light weight OO stuff can ease the path:

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"; }

Prints:

does sub1 stuff Can't wibble does sub2 stuff does sub3 stuff

and all you need to do to add a new sub is add the sub.


Perl reduces RSI - it saves typing