First off, DynaLoader is not mandatory for what you want to do. Someone will probably explain you its use, because I personally don't know much about it. I know however that Exporter should be enough.
Second, you have a syntax error that would have been reported, had you turned on warnings.
@ISA = qw(Exporter, DynaLoader);
should be
@ISA = qw(Exporter DynaLoader); # no commaLast, it's not necessary to specify which subroutine to import when using @EXPORT. It's only mandatory when going with @EXPORT_OK
Putting it all together, something like that will do what you want:
package MyModule; use strict; use warnings; # might want to turn this off once everything works fine use Exporter; our (@ISA, @EXPORT); @ISA = qw(Exporter); @EXPORT = qw(suba); sub suba { print "suba\n"; } 1;
Then, in your code:
#!/usr/bin/perl use strict; use warnings; use MyModule; suba();
Update: I had forgotten the necessary use Exporter; line... shame on me. Anyway, you'll want to read perldoc Exporter.
In reply to Re: subroutine inheritance
by Fang
in thread subroutine inheritance
by jeanluca
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |