Perl:如果文件中不存在特定行,则退出

时间:2016-01-11 09:42:35

标签: perl file-io

在对文件执行某些操作之前,我需要扫描文件以查看它是否包含一个特定的行。如果该行不存在于文件中的任何位置,则退出(并且不对该文件执行任何进一步的操作)。

在Perl中执行此操作的最有效方法是什么?

1 个答案:

答案 0 :(得分:6)

阅读文件的东西是 - 昂贵的部分始终是读取数据的过程。

所以 - 读取你的文件,如果你碰到匹配的一行则中断,并测试你是否在循环之外;

my $found; 
while ( <$filehandle> ) {
    if ( m/Some Text to match here/ ) { 
        $found++;
        last;
    }
}

die "Line not present" unless $found;