【发布时间】:2012-04-02 21:29:15
【问题描述】:
我必须在 Perl 的变量中搜索模式。 模式还需要在变量内。 这是我所拥有的:
opendir(DIR,"reports/");
$poolname = $poolname."_";
@FILES= grep {/^$poolname\.[0-9]*.csv/} readdir(DIR);
@sorted= reverse sort @FILES;
我要匹配的模式是 poolname_[0-9]* (我正在尝试在此处获取池的最新报告。[0-9]* 是文件的 unix 时间戳)
但是上面的正则表达式没有按预期工作。 $sorted[0] 没有所需的文件名。 请问上面的代码有什么问题吗?
【问题讨论】:
-
这是 Perl,不是 PERL。这不是首字母缩写词。
-
ok :) 我以为是实用的提取和报告语言
-
脚本顶部有
use strict;和use warnings;吗?乍一看我没有发现任何问题,尽管我会将poolname_直接放入正则表达式中。 -
请显示您的文件名列表。您将在
$poolname后面添加一个下划线,然后在正则表达式中搜索一个点。 -
另外,
$poolname在脚本开头包含什么?