如何使用perl将完整路径转换为相对路径?

时间:2011-11-15 13:45:28

标签: perl

我有一个文件的完整路径和Perl程序中两个变量中其中一个父目录的完整路径。

计算文件相对于父目录的相对路径的安全方法是什么。需要在windows和unix上工作。

e.g。

$filePath = "/full/path/to/my/file";
$parentPath = "/full";
$relativePath = ??? # should be "path/to/my/file"

2 个答案:

答案 0 :(得分:23)

使用 File::Spec

他们有 abs2rel 功能

my $relativePath = File::Spec->abs2rel ($filePath,  $parentPath);

适用于Windows和Linux

答案 1 :(得分:9)

use Path::Class;
my $full = file( "/full/path/to/my/file" );
my $relative = $full->relative( "/full" );