如何在Perl中打印相对路径的文件夹?

Nyx*_*ter 1 directory perl

我有一个脚本,它采用文件夹的相对路径.有没有办法获取指向的文件夹/目录的名称?如果需要,它可能是绝对路径,我将使用正则表达式来剥离它.

说我正在执行:

/example/a/b/c/d/perl.pl
Run Code Online (Sandbox Code Playgroud)

例如1

如果他们输入:

../../
Run Code Online (Sandbox Code Playgroud)

我希望它能够返回'b'(或绝对路径到b,我可以写一个脚本去除它).

EG2

如果他们输入:

./
Run Code Online (Sandbox Code Playgroud)

我希望它能够返回'd'(或者再次,绝对路径直到d).

有没有一种简单的方法可以做到这一点,因为我能想到的唯一方法是计算../文件的绝对路径上的数量和使用它来进行正则表达式,这需要很多处理.

谢谢

Bas*_*sil 5

这很简单 - 只需使用Cwd模块:

use Cwd 'abs_path';
my $abs_path = abs_path($file); 
Run Code Online (Sandbox Code Playgroud)