我有一些Perl代码,它有文件glob操作。
$file1 = @ARGV[0];
@res1 = glob "$file1*";
我希望在我整理文件时反映整个绝对路径,而不仅仅是当前代码中的文件名。
e.g。当我执行glob“* .pdf”时,我需要匹配pdf文件的绝对路径并通过glob返回到我的数组变量。
我尝试使用模块使用File :: Basename; 但这似乎用于将文件路径解析为目录,文件名,后缀。
如何获得此效果。
感谢,
-AD。
答案 0 :(得分:9)
您希望使用核心模块Cwd
来获取与当前工作目录相关的完整路径。
use Cwd;
@res1 = map { Cwd::abs_path($_) } glob "$file1*";
答案 1 :(得分:3)
您想使用标准模块File::Spec
。它有一个子rel2abs()
,这正是你想要的。有关详细信息,请参阅perldoc File::Spec
。另外,请参阅perldoc perlmodlib
以获取与Perl一起安装的标准模块和语用的列表。