我最近写了一个新的Perl脚本来杀死基于进程名/用户名的进程,并使用Classes扩展它,以便我可以在其他程序中重用该进程代码。我目前的布局是 –
/home/mutew/src/prod/pskill <-- Perl script /home/mutew/src/prod/Process.pm <-- Package to handle process descriptions
我在我的$ PATH变量中添加〜/ src / prod从任何地方访问脚本。从任何目录而不是其常驻目录运行脚本导致“无法找到Process.pm在@INC”(这是可以理解的,除了/ usr中的共享目录,@INC只包括当前目录 – ‘。’)。我一直使用的一种解决方法是使用lib指令如此 –
use lib '/home/mutew/src/prod';
但这是一个主要的可移植性问题。任何解决方案,也将允许我将脚本导出到其他系统没有和更改?
编辑
>我选择了“depesz”答案作为正确的答案,因为它的简单性和核心模块的使用。
> brian d foy的回答虽然建议其他方法来完成相同(TMTOWTDI),他在perlfaq8的贡献使这个问题绝对多余。