in reply to Refactoring a module with many anonymous subrefs as an OO module
I don't know how converting the anonymous subroutines to named subroutines will improve the situation as you haven't told us why you need names. Iterating over unnamed things is usually easier than generating names. Still, it's fairly easy to give names to the subroutines:
for my $primary (sort keys %CODEREFS) { for my $secondary (sort keys %{ $CODEREFS{$primary}}) { my $code = $CODEREFS{$primary}->{$secondary}->{cref}; no strict 'refs'; *{"mymodule_${primary}_${secondary}"} = $code; }; };
If you plan on calling the subroutines via the -> method syntax, be aware that the parameters might change, because $foo->mymodule_1_1() is equivalent to mymodule_1_1($foo);.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Refactoring a module with many anonymous subrefs as an OO module
by telcontar (Beadle) on Nov 21, 2007 at 12:40 UTC |