Perl自定义模块的路径包含问题

Author:NinGooposted onNinGoo.netPerl自定义模块的路径包含问题

Perl模块是重用代码的好方法,但是在调用自定义模块时的路径问题困扰了我许久。之前一直都是通过在代码中直接将自定义模块所在的绝对路径写入到@INC数组来解决的,以下示例,加入perl脚本放置在/opt/perl/bin,而自定义模块放在/opt/perl/lib目录:

BEGIN {
    push (@INC,'/opt/perl/lib');
}

或者

BEGIN {
    unshift @INC,'/opt/perl/lib';
}

或者

 use lib '/opt/perl/lib';

使用绝对路径比较麻烦,如果将程序迁移到另外的安装目录,就需要去更改所有的脚本。而直接在use lib中使用相对路径,如uselib‘../lib’;,测试发现手动执行bin目录下的perl脚本是可以的,但是放到crontab里去跑就找不到模块了。于是想先找到bin目录的路径,然后通过相对路径跳转到lib目录,在《PerlCookbook》终于找到了我想要的,使用FindBin模块就能实现梦想了:

use FindBin qw($Bin);
use lib "$Bin/../lib";

Related Articles
  • 编写Perl模块
  • 如何在AIX中编译Perl
  • 如何让Perl脚本同时只运行一个实例
  • 使用Perl发送邮件
  • 在Crontab中调度Perl程序的环境变量问题
  • MySQL如何获取当前执行的SQL

PermLink:http://www.ningoo.net/html/2009/perl_module_use_lib_path.html

Add Comments(1)|Follow NinGoo@Twitter|GoogleReader


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值