Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: calling subroutines from variables

by GrandFather (Saint)
on Aug 21, 2008 at 20:47 UTC ( [id://705983]=note: print w/replies, xml ) Need Help??


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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://705983]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (9)
As of 2024-03-28 10:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found