按顺序打开文件并在perl中搜索内容匹配

时间:2016-08-19 04:10:51

标签: perl

我是perl的新手。

我很乐意打开两个文件并查看其内容,但是如何在循环中逐个打开文件并检查其内容?

2 个答案:

答案 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模块是一个简单直接的解决方案。