我必须在文件夹中搜索以变量&#34; $ runVar&#34; .csv结尾的特定csv文件。这应该是模式:anything <runVar>.csv
。我必须附上此搜索的输出并将其邮寄。
请帮忙。我尝试使用mutt在shell中使用示例文件邮件。请确认它也可以在perl中使用吗?
答案 0 :(得分:0)
如果我理解正确,您希望查找名称为“任何$ runVar.csv”的文件,然后对该文件执行某些操作。这是一个如何做到这一点的例子。如果找到文件,它将打开它并打印内容。
#!/usr/bin/perl
use warnings;
use strict;
my $run_var = 1822;
my $rx = qr/(?<!\d)$run_var\.csv/;
my $dir = ".";
opendir my $dh, $dir or die $!;
while (my $file = readdir($dh)){
if ($file =~ $rx){
open my $fh, '<', $file
or die $!;
for my $line (<$fh>){
chomp $line;
print "$line\n";
}
}
}
答案 1 :(得分:0)
请不要在Perl词法标识符中加入大写字母。 $run_var
更易读,特别是对于第一语言不是英语的人
使用glob
my @matches = glob "*$run_var.csv";
您必须将要搜索的目录添加到模式字符串的开头,或者在调用chdir
glob
。