我有两个值:从文件名和目录名构造绝对路径
- 当前目录名
- 绝对或相对的文件名
我需要构建一个明确的绝对文件名(以/开头,没有任何../,没有./),与目录是当前目录时访问该文件相对应。
我需要在Unix中使用Perl进行此操作。
我试过use File::Path;
但不工作的权利(错误):
perl -MPath::Class -e 'my $fileObj = Path::Class::File->new("/boot", "/xx");
print $fileObj->absolute, "\n";'
输出:
/boot/xx
但它应该打印/xx
,因为它是一个绝对路径,它不应该依赖于当前目录!
您的代码使用'路径:: Class'和'路径::类:: File',但你说你正在使用'文件: :路径......这有点令人困惑。尽管如此,[Path :: Class](http://search.cpan.org/perldoc?Path%3A%3AClass)确实将自己记录为'File :: Path'上的图层。我认为你的问题是GIGO:垃圾进入,垃圾进出。文件名不应该包含斜线;当它发生时,你会得到你所得到的。文件名是通过在文件名前加上目录名称列表(在你的例子中)来创建的。 –