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

发布于 2024-12-15 18:54:25 字数 248 浏览 0 评论 0原文

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

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

例如

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

I have the full path to a file and the full path to one of its parent directories in two variables in Perl program.

What is a safe way to calculate the relative path of the file relative to the parent directory. Needs to work on windows and unix.

e.g.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

歌枕肩 2024-12-22 18:54:25

使用 File::Spec

他们有一个 abs2rel 函数

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

可在 Windows 和 Linux 上运行

Use File::Spec

They have a abs2rel function

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

Will work on both Windows and Linux

温柔嚣张 2024-12-22 18:54:25
use Path::Class;
my $full = file( "/full/path/to/my/file" );
my $relative = $full->relative( "/full" );
use Path::Class;
my $full = file( "/full/path/to/my/file" );
my $relative = $full->relative( "/full" );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文