在对文件执行某些操作之前,我需要扫描文件以查看它是否包含一个特定的行。如果该行不存在于文件中的任何位置,则退出(并且不对该文件执行任何进一步的操作)。
在Perl中执行此操作的最有效方法是什么?
答案 0 :(得分:6)
阅读文件的东西是 - 昂贵的部分始终是读取数据的过程。
所以 - 读取你的文件,如果你碰到匹配的一行则中断,并测试你是否在循环之外;
my $found;
while ( <$filehandle> ) {
if ( m/Some Text to match here/ ) {
$found++;
last;
}
}
die "Line not present" unless $found;