如何从perl脚本调用同一目录中的脚本

时间:2012-06-05 12:44:33

标签: perl directory

我正在尝试从perl脚本中调用脚本。 我可以看到两种方法......

使用./somescript或指定完整的目录路径。两者都不理想,因为“./”只有在调用者cd进入目录时才会起作用。完整的道路,不是相对而是绝对的。无论如何围绕这个?感谢

3 个答案:

答案 0 :(得分:1)

如果要查找原始脚本所在的目录,请使用FindBin模块,如果要查找当前工作目录,请使用Cwd

答案 1 :(得分:1)

执行此操作的一种方法是确定脚本所属的目录,并使用How do I get the full path to a Perl script that is executing?

提供了两种方法来实现这一目标。

答案 2 :(得分:0)

要获取当前正在执行的脚本的完整路径,可以使用PerlMonks中的either of the following chunks of code。文件::基名:

#!/usr/bin/perl -w
use strict;
use File::Spec::Functions qw(rel2abs);
use File::Basename;
print dirname(rel2abs($0));

CWD可用于此目的。 CWD示例:

use Cwd;
my $dir = getcwd;

应该可以使用基本目录构建完整路径,并了解初始脚本和您要调用的第二个脚本的相对位置。这样,虽然您将使用绝对路径来调用第二个脚本,但您只是硬编码相对路径?