Do you know where your variables are? | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
Maybe not important to you, but that won't work if your client code needs both Foo::Module and Bar::Module. The BEGIN block will only be run once. (And the code you posted doesn't work period since __PACKAGE__ is "Base::Module" in this case, not Foo::Module or Bar::Module!)
Instead I think I'd have the base class define an init() method which the sub-classes call in a BEGIN: BEGIN { __PACKAGE__->init() } The code in init() could do roughly what you have in your BEGIN block, but I might make it a bit more configurable by using a method to get the config class name and defining that in each sub-class: sub config_class { "Foo::Config" } You could have a default implementation of that method in your base class that does the namespace manipulation. Does that make sense? -sam In reply to Re: "use"ing from dynamic namespace
by samtregar
|
|