I don't like package methods since I can't import them.
I can simply import
Getopt::Long::Framework::getOpt
with
*getOpt = \&Getopt::Long::Framework::getOpt
(or even more simply through use)
But to import
Getopt::Long::Framework->getOpt
I need to create the wrapper
sub getOpt { Getopt::Long::Framework->getOpt(@_) }
You suggest using inheritance (use base ...), but I hate inherting where there isn't an is-a relationship.
It doesn't seem to be needed here. If I understand correctly, you want to allow multiple modules to specify options they accept. Wouldn't the following be sufficient?
or even something like# Module1 Getopt::Long::Framework::accept(...); . : # Module2 Getopt::Long::Framework::accept(...); . : # Module3 Getopt::Long::Framework::accept(...); . : # First call to getOpt processes @ARGV. $val = Getopt::Long::Framework::getOpt(...);
# Module1 use Getopt::Long::Framework accept => ...; . : # Module2 use Getopt::Long::Framework accept => ...; . : # Module3 use Getopt::Long::Framework accept => ...; . : # First call to getOpt processes @ARGV. $val = Getopt::Long::Framework::getOpt(...);
In reply to Re: Design of a global-variable storage package
by ikegami
in thread Design of a global-variable storage package
by Tanktalus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |