我是perl的新手。
我很乐意打开两个文件并查看其内容,但是如何在循环中逐个打开文件并检查其内容?
答案 0 :(得分:2)
作为mkHun suggested,您可以使用数组存储文件名,然后循环遍历它。请参阅以下模板以获得一个想法:
#!/usr/bin/perl
use strict;
use warnings;
my @files = qw(file.txt file2.txt file3.txt filen.txt);
foreach my $file (@files){
#open file in read mode to check contents
open (my $fh, "<", $file) or die "Couldn't open file $!";
#loop over file's content line by line
while(<$fh>){
#$_ contains each line of file. You can manipulate $_ below
if($_ =~ /cat/){
print "Line $. contains cat";
};
}
close $fh;
}
同时阅读:
答案 1 :(得分:0)
除了Chankey Pathak的回答,如果你想迭代一些目录中的文件(意味着你不知道你要处理的文件的名称是什么,但你知道它们的位置),File::Find
模块是一个简单直接的解决方案。