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
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|