2011-01-17 1 views
0

私はラインパターンを見つけた後の行の読み方は?

私は、ファイルの検索を行うと、最初の行を見つけた後、IDを取得することです私は何をしたい
CHANNEL(SYSTEM.DEF.SVRCONN) CHLTYPE(SVRCONN) 
id=3 

を持っています。

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? 
    } 
} 

答えて

1

あなたが他のすべての行を読んでいるのと同じ方法:式<CHECKFILE8>で。たとえば:

my $nextline = <CHECKFILE8>; 

あなたは裸の単語識別子を経由してファイルハンドルを開くと、やや古風なPerlのであること、しかし、注意する必要があります。それはPerlがあなたのためにレキシカルスコープの変数にファイルハンドルを作成できるように、一般的に、より安全で慣用です:

open my $checkfile8, '<', $file or die "Can't open $file: $!"; 
while (<$checkfile8>) { ... } 

あなたは右、use strictを使用していますか?

+0

sry dun? perlは "my $ nextline = "をどうやって知ることができますか?次の行ですか? – Dayzza

+0

私はそれを試した後にそれを得たと思います!ありがとうsean! :D – Dayzza

関連する問題