Недавно я написал новый сценарий Perl для уничтожения процессов на основе имени процесса / имени пользователя и расширил его с помощью классов, чтобы я мог повторно использовать код процесса в других программах. Мой текущий макет -
/home/mutew/src/prod/pskill <-- Perl script
/home/mutew/src/prod/Process.pm <-- Package to handle process descriptions
Я добавил ~ / src / prod в переменную $ PATH для доступа к сценарию из любого места. При запуске сценария из любого каталога, кроме его резидентного каталога, возникает сообщение «Не удается найти Process.pm в @INC» (что вполне понятно, учитывая, что кроме общих каталогов в / usr, @INC включает только текущий каталог - ''). Один из обходных путей, который я использовал, - это директива use lib, поэтому -
use lib '/home/mutew/src/prod';
но это главная проблема переносимости. Какие-нибудь решения, которые также позволят мне экспортировать скрипт в другие системы без изменений?
EDIT
- Я выбрал правильный ответ «depesz» из-за его простоты и использования основного модуля.
- Ответ Брайана Д Фоя, хотя и предлагает другие методы для достижения того же (TMTOWTDI), его вклад в perlfaq8 делает этот вопрос абсолютно излишним.