我有线
CHANNEL(SYSTEM.DEF.SVRCONN) CHLTYPE(SVRCONN)
id=3
我想要做的是在搜索文件并找到第一行后检索id。
open(CHECKFILE8, "$file");
while (<CHECKFILE8>) { #while loop to loop through each line in the file
chomp; #take out each line by line
$datavalue = $_; #store into var , $datavalue.
$datavalue =~ s/^\s+//; #Remove multiple spaces and change to 1 space from the front
$datavalue =~ s/\s+$//; #Remove multiple spaces and change to 1 space from the back
$datavalue =~ s/[ \t]+/ /g; #remove multiple "tabs" and replace with 1 space
if ($datavalue eq "CHANNEL(SYSTEM.DEF.SVRCONN) CHLTYPE(SVRCONN)") {
# HOW TO READ THE NEXT LINE?
}
}
答案 0 :(得分:1)
与阅读所有其他行的方式相同:使用表达式<CHECKFILE8>
。例如:
my $nextline = <CHECKFILE8>;
但是,您应该知道,通过裸字标识符打开文件句柄有点过时了Perl。让Perl在词法范围变量中为您创建文件句柄通常更安全,更惯用:
open my $checkfile8, '<', $file or die "Can't open $file: $!";
while (<$checkfile8>) { ... }
您正在使用use strict
,对吧?