用Perl获取绝对路径

时间:2017-08-03 11:56:16

标签: regex perl

我想用Perl获取文件的绝对路径。该文件位于/a/b/c/file.txt。所以,我想得到/a/b/c/。我目前无法使用Cwd::cwd(),因为实际工作目录为/a/b/。这不是一个错误,因为Perl脚本是从/a/b/调用的。

那么,是否有一个Perl函数来捕获它,或者我是否必须使用正则表达式来查找它?

2 个答案:

答案 0 :(得分:5)

use File::Basename;
my $path = "/a/b/c/file.txt";
my ($filename, $dir) = fileparse($path);

答案 1 :(得分:2)

如果文件名没有特殊字符,并且格式化为name.ext,则可以使用如下的正则表达式:

(.*\/)[\w-]+\.[\w]{3}

文件名可以包含A-Z,a-z,0-9和 - (减号)