in reply to Re^4: Creating dispatch table with variable in function name
in thread Creating dispatch table with variable in function name
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/...
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...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.
Give a man a fish: <%-{-{-{-<
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^6: Creating dispatch table with variable in function name
by Mr. Muskrat (Canon) on Nov 22, 2017 at 18:55 UTC | |
by AnomalousMonk (Archbishop) on Nov 23, 2017 at 03:52 UTC | |
Re^6: Creating dispatch table with variable in function name
by Mr. Muskrat (Canon) on Nov 22, 2017 at 17:27 UTC | |
by AnomalousMonk (Archbishop) on Nov 22, 2017 at 17:43 UTC | |
by Mr. Muskrat (Canon) on Nov 22, 2017 at 17:48 UTC | |
by AnomalousMonk (Archbishop) on Nov 22, 2017 at 18:01 UTC | |
by Mr. Muskrat (Canon) on Nov 22, 2017 at 18:57 UTC |
In Section
Seekers of Perl Wisdom