I don't know anything about .pl modules rather than they existed a while ago, nobody seems to be using them these days, so you shouldn't use them either.
Stick to pm modules, ignore @ISA right now for OOP. Export is also not so important, because you can always completely abandon your methods.
To write instead:
file: MyPkg.pm
package MyPkg; @EXPORT = qw(func1 func2); sub func1 { ... }; sub func2 { ... };
file: main.pl
To get started, write that:
file: MyPkg.pm
package MyPkg; sub func1 { ... }; sub func2 { ... };
file: main.pl
And later, when you see which methods should really be exported, you can do this without modifying your existing code.
Using loads your module and calls import, which will make any available EXPORTED available in your current package. In the example seconds, the request should be executed, which does not cause the import, but I usually use "use".
source share