bak*_*lap 0 linux perl path relative-path absolute-path
我有一个perl脚本:run.pl,每分钟都被cron调用.
run.pl唯一要做的就是调用另外两个脚本:download.pl和parse.pl:
#!/usr/bin/perl
use warnings;
use strict;
do 'download.pl';
do 'parse.pl';
print "done!\n";
Run Code Online (Sandbox Code Playgroud)
在download.pl和parse.pl两种打印与"下载完成"和"做了分析:"现在我把脚本输出到/var/log/script.log并检查脚本运行.
run.pl脚本运行正常,它输出"done!" 到日志文件.但是没有调用其他两个脚本.我认为这是一个相对路径问题,它在我使用绝对路径时起作用.
但这就是问题,脚本在测试阶段并且每次都改变路径,总是改变绝对路径会很麻烦.
有没有办法让脚本从相对路径运行?
编辑:当我自己从命令行运行"perl run.pl"时,它运行脚本没有问题.
嗯,你为什么用do
?你知道,那不会"召唤"一个节目!
这些库模块或程序是?
此外,预计会有节目$ENV{PATH}
,而预计会有图书馆@INC
.这些几乎肯定是不同的东西.
我的建议是:
$ENV{PATH}
,使用system()
或反引号.@INC
,请使用require
或use
.do FILE
到异国情调的巫术目的几乎肯定不适用于此. 归档时间: |
|
查看次数: |
913 次 |
最近记录: |