Hi Ana,

Don't I have to put "use" and the name of packages A and B anywhere on the
main program?

I advice you to use Module::Pluggable for that (as I think you're
designing a pluggable system or whatever):

$ cat > module-pluggable-sample.pl
use strict;
use warnings;

package Application;
use Module::Pluggable;

package main;

foreach my $plugin (Application->plugins()) {
   if (my $code = $plugin->can("my_routine")) {
       $code->();
   }
}
^D
$ mkdir -p Application/Plugin
$ cat > Application/Plugin/A.pm
package Application::Plugin::A;
sub my_routine {
   print __PACKAGE__, "::my_routine()\n";
}
^D
$ cat > Application/Plugin/B.pm
package Application::Plugin::B;
sub my_routine {
   print __PACKAGE__, "::my_routine()\n";
}
^D
$ perl module-pluggable-sample.pm
Application::Plugin::A::my_routine()
Application::Plugin::B::my_routine()

HTH

--
Igor Sutton Lopes <[EMAIL PROTECTED]>

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to