This is basically just idle curiosity, but is there any way that the approaches of either
almut's
Re^3: symbolic reference + inheritance or
merlyn's
Re^3: symbolic reference + inheritance can be tortured into passing
both the invoking class
and method arguments into the method upon invocation? (Both of the invocations after the
no strict 'refs'; statement have the same effect, but as the code stands, only one will actually get a chance to run.)
>perl -wMstrict -le
"package base;
sub func {
print q{in }, __PACKAGE__, qq{ via $_[0] got $_[1]};
}
package derived;
our @ISA = qw(base);
package main;
my $pack = 'derived';
$pack ->func(42);
'derived'->func(42);
my $foo = 'fu';
$pack->can(qq{${foo}nc})->(42);
no strict 'refs';
&{ $pack->${\qq{${foo}nc}} }(42);
$pack->${\qq{${foo}nc}}->(42);
"
in base via derived got 42
in base via derived got 42
Use of uninitialized value in concatenation (.) or string at ...
in base via 42 got
Use of uninitialized value in concatenation (.) or string at ...
in base via derived got
Undefined subroutine &main::1 called at -e line 1.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.