in reply to Design of a global-variable storage package
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(...);
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Design of a global-variable storage package
by Tanktalus (Canon) on Nov 23, 2005 at 00:24 UTC | |
|
Re^2: Design of a global-variable storage package (string)
by tye (Sage) on Nov 23, 2005 at 07:12 UTC | |
by Tanktalus (Canon) on Nov 23, 2005 at 17:55 UTC | |
by tye (Sage) on Nov 23, 2005 at 21:11 UTC |