Perl:从特定文件夹中选择具有特定扩展名的不同文件名

时间:2016-06-23 09:27:06

标签: regex xml perl

问题:我有一个特定的文件夹,其中我只有一个具有特定扩展名的文件。该文件生成一个,名称总是变化......

我想将它分配给变量,然后传递给perl中的子程序 我尝试如下

my $ file =“./ abc / default / *。”; 并尝试使用我控制的一个字段

我的$ file =“./abc/def/ ._ $ {username} _。 .xml”;

但我打印文件名....它说* .xml或 ._ name _。 .xml而不是实际的文件名......

有人能告诉我如何解决我的问题。 我是新来的...所以任何帮助都会很棒。 我搜索过其他几个地方,但找不到任何针对这个特定点的内容。

2 个答案:

答案 0 :(得分:3)

您想要glob

my $file = glob './abc/def/*.xml';

或者也许:

my @files = glob './abc/def/*.xml';

不确定为什么你会遇到$username部分的问题。 应该扩展该var。 (虽然,我不知道为什么你有_任何一方。

答案 1 :(得分:0)

您可以使用以下方式打印文件。然后您可以使用它们。

代码:

    my @dir = `ls ./abc/def/`;
    foreach my $id (@dir)
    {
            chomp($id);
            print "$id\n";
    }

希望这会对你有所帮助。