Per Laurent_R: "... I am ... worrying ... that the subroutine ref names are dynamically created."
Per Mr. Muskrat: "Personal preference ... I see nothing wrong ... you have to still have to write code for each piece ..."
What worries me is that, while strict is perfectly happy with it, the code below has a run-time error that may not be triggered for hours/days/weeks/months/...
c:\@Work\Perl\monks>perl -MData::Dump -le
"use warnings;
use strict;
;;
sub hiya { print 'hi from ', (caller(1))[3]; }
;;
sub _x_foo { hiya; };
sub _x_bar { hiya; };
;;
my %disp = map { $_ => \&{ '_x_' . $_ } } qw(foo bar zot);
dd \%disp;
;;
$disp{foo}->();
$disp{zot}->();
$disp{bar}->();
"
{ bar => sub { "???" }, foo => sub { "???" }, zot => sub { "???" } }
hi from main::_x_foo
Undefined subroutine &main::_x_zot called at -e line 1.
You have to write code for each piece in order for the whole thing to work reliably, but you may not discover that it doesn't until a very inopportune moment. If everything could be thoroughly tested prior to deployment, the queasy feeling in my stomach might be eased a bit, but even so...
Give a man a fish: <%-{-{-{-<
-
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.
|