从系统命令运行时,Perl脚本无法找到包含文件

时间:2016-09-29 19:53:07

标签: perl

我有以下文件。

a.pl

    #!/usr/bin/perl
    system('perl b.pl');

b.pl

    print `cwd`;
    require "conf/cf.pl";

cf.pl

    $var = "val";
    1;

这是目录设置。

testdir/a.pl
testdir/b.pl
testdir/conf/cf.pl

我在testdir目录中并运行命令:

perl a.pl

失败
testdir
Can't locate conf/cf.pl in @INC...

为什么即使当前目录正确,它也找不到包含文件?

这是在Kali Linux上。

2 个答案:

答案 0 :(得分:3)

您使用的是哪个版本的Perl?作为对CVE-2016-1238的回复,有一些事情要从@INC中删除当前目录。尝试在链的每个部分打印@INC的值以验证这一点。

要更改此设置,您可以deliberately add a directory to @INC

答案 1 :(得分:-1)

也许命令' cwd'是问题。你在Linux中有这个命令吗?我假设你在linux上运行它。无论如何,尝试改为' pwd'。