Я ничего не знаю о .pl, а о модулях, а не о том, что они существовали некоторое время назад, кажется, что никто не использует их в настоящее время, поэтому вам, вероятно, не следует их использовать.
Придерживайтесь модулей PM, игнорируйте @ISA прямо сейчас, это для ООП. Экспорт тоже не так важен, потому что вы всегда можете вызвать ваши методы полностью в кавычки.
Так что вместо того, чтобы писать это:
файл: MyPkg.pm
package MyPkg;
@EXPORT = qw(func1 func2);
sub func1 { ... };
sub func2 { ... };
файл: main.pl
#!/usr/bin/perl
use strict;
use warnings;
use MyPkg;
&func1();
для начала напишите:
файл: MyPkg.pm
package MyPkg;
sub func1 { ... };
sub func2 { ... };
файл: main.pl
#!/usr/bin/perl
use strict;
use warnings;
use MyPkg;
&MyPkg::func1();
И позже, когда вы увидите, какие методы действительно должны быть экспортированы, вы можете сделать это без необходимости изменения существующего кода.
Использование загружает ваш модуль и вызывает импорт, что сделает любые экспортированные субпродукты доступными в вашем текущем пакете. В примере с секундами будет использоваться require, который не вызывает import, но я обычно использую «use».