in reply to Module programming
You could, if you go with AgentM's suggestion (and you should listen to merlyn's advice), set up a method in A.pm that would look like so (assuming your object is a reference to an anonymous hash):
sub the_problem { my $self = shift; $self->{_the_problem} = shift if (@_); # sets _the_problem to the +value we've been passed *if* we've been passed a value $self->{_the_problem}; # returns the current value of _the_problem }
It's important to put this method in A.pm so B and C can inherit this method.
In the script which uses the modules, you would then set this property by calling the method with arguments.
HTHuse strict; use A::B::C; #use your modules. Pay attention to btrott's advice abov +e on Exporter etc. ... my $foo = new A::B::C; $foo->the_problem("argle bargle"); # $foo->{_the_problem} now eq 'argl +e bargle' print $foo->the_problem(); # prints "argle bargle"
Philosophy can be made out of anything. Or less -- Jerry A. Fodor
|
|---|