フリップフロップ演算子についてさらにサポートが必要です。以下は私のサンプルデータです。
LS SPID ASP SPID
3-59 MGW05
SLC ACL PARMG ST SDL SLI
0 A1 17 C7STH-1&&-31 MSC19-0/RTLTB2-385
LS SPID ASP SPID
3-618 ETRC18
SLC ACL PARMG ST SDL SLI
0 A2 0 C7ST2C-4 ETRC18-0/RTLTB2-417
1 A2 0 C7ST2C-5 ETRC18-0/RTLTB2-449
END
関心のあるデータは、文字列'LS SPID ASP SPID'で始まり、次の'LS SPID ASP SPID'またはEND(次のLS行がない場合)で終わります。フリップフロップ演算子を使用してこれを取得することは可能ですか?このデータを配列(@linesread)に読み込んでから、以下のコードを使用して配列をループしようとしましたが、機能していません。同じ行を2回ループできないため、問題が発生しますか?他の解決策はありますか?
PS:必要に応じて...演算子を使用しています。
foreach (@linesread) {
if (/^LS\s*SPID\s*ASP\s*SPID$/ ... (/^LS\s*SPID\s*ASP\s*SPID$/ || /^END$/)) {
print "$. \t $_\n";
}
}