路径问题……

路径问题……

路径问题……
现在做了一个project,结构如下,A是工程名,abc.pl是主函数,主函数abc.pl里面为了调用1.pm 2.pm等等,写了use lib './lib' ;

A---------abc.pl
|___B
|___lib
|_1.pm
|_2.pm
|_3.pm

可是如果把A放在/home/ap目录下面,在cron里面调用abc.pl的时候,写全路经perl /home/ap/A/abc.pl 就会提示找不到./lib
但是如果cd /home/ap/A 然后再perl abc.pl是没有问题的
该怎么办呢?
cron 对路径有一定的要求。这里你的 ./lib 是相对路径,就造成了这个问题。

最好的解决方法是使用 Perl 自带的 FindBin 模块。大概使用方法

[quote]
use FindBin qw/$RealBin/;
use lib "$RealBin"; # 这里 $RealBin 是当前的目录。
[/quote]
[quote]回复给 qiang : cr.
[quote]回复给 qiang : cron 对路径有一定的要求?...[/quote]

嗯,非常感谢!刚刚试验过了,果然没问题了![CCB]1[/CCB]