【问题标题】:How do I return absolute path names for files using Perl glob?如何使用 Perl glob 返回文件的绝对路径名?
【发布时间】:2011-07-02 04:37:40
【问题描述】:

我有一些 Perl 代码具有文件 glob 操作。

$file1 = @ARGV[0];
@res1 = glob "$file1*";

我希望在 glob 文件时反映整个绝对路径,而不仅仅是当前代码中的文件名。

例如当我执行 glob "*.pdf" 时,我需要匹配 pdf 文件的绝对路径并通过 glob 返回到我的数组变量。

我尝试使用模块 use File::Basename; 但这似乎用于将文件路径解析为目录、文件名、后缀。

我如何获得这种效果。

谢谢,

-AD。

【问题讨论】:

    标签: perl glob


    【解决方案1】:

    您想使用核心模块Cwd 获取当前工作目录的完整路径。

    use Cwd;
    @res1 = map { Cwd::abs_path($_) } glob "$file1*";
    

    【讨论】:

    • 感谢您的回答。工作得很好,我也了解了 Cwd 模块。
    • 这和 File::Spec rel2abs() 之间有什么选择
    【解决方案2】:

    您想使用标准模块File::Spec。它有一个子 rel2abs(),这正是您想要的。有关详细信息,请参阅perldoc File::Spec。此外,请参阅perldoc perlmodlib 以获取与 Perl 一起安装的标准模块和语用学列表。

    【讨论】:

      猜你喜欢
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      • 1970-01-01
      • 2010-09-05
      • 2021-01-25
      • 2012-12-31
      • 2012-05-08
      相关资源
      最近更新 更多