Perl по умолчанию имеет .
в качестве первого элемента в @INC
, поэтому будет работать бок о бок.Если вы хотите быть немного более изощренным, вы можете использовать FindBin
и use lib
:
#!/usr/bin/env perl
use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/lib";
# Main program continues...
Теперь поместите ваши модули в lib/
в тот же каталог, что и ваш скрипт, и ваш скрипт будетувидеть их.Это сохраняет ваши библиотечные модули и ваши сценарии (ы) разделены.Если вы пишете тесты, у вас может быть библиотека t/
с сценариями тестирования, начинающимися следующим образом:
use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../lib";
use Test::More;
# other test modules, your plan, etc.
И ваши тесты также будут выглядеть в нужном месте для библиотечных модулей.
Вы также можете использовать PERL5OPT=-I/path/to/some/library
, чтобы добавить этот путь к @INC
, и тогда вам вообще не понадобится use lib
.