为什么 ~/bin 中的 Perl 脚本找不到相对文件路径?

为什么 ~/bin 中的 Perl 脚本找不到相对文件路径?
#!/usr/bin/env perl
use warnings; 
use strict;
use XML::LibXML;

my $parser = XML::LibXML->new;
my $file = './example.xml';
my $doc = $parser->parse_file( $file );
print ref( $doc ), "\n";

当我将此脚本和 example.xml 文件移至 /home/me/ 时,脚本可以正常工作。当我将此脚本和 example.xml 文件移至 /home/me/bin/ 时,脚本找不到 example.xml 文件。这是 bin 目录的某些特殊功能吗?

答案1

不会。但是,它会从“ ”打开文件./example.xml,这应该是您当前的工作目录(cwd按 Unix 的说法)。它可能从命令搜索路径($PATH环境变量)获取您的脚本。

通过绝对路径名引用它,它会正常工作。我还建议阅读cwdpwd和“ man pwd”。

相关内容