Нужна помощь на оператора флип-флоп Ниже мой пример данных:Perl Flip-flop operator - Можно ли считать END первого матча START следующего матча?
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 ИСП ASP SPID» и заканчивается либо следующая «LS SPID ASP ИСП 'или END (если нет следующей строки LS). Можно ли это использовать с помощью флип-флоп-оператора? Я прочитал эти данные в массиве (@linesread), а затем попытался выполнить цикл над массивом, используя приведенный ниже код, и он не работает. Является ли проблема, потому что я не могу дважды перебирать одну строчку? Любое другое решение?
P.S: Я использую оператор ... при необходимости.
foreach (@linesread) {
if (/^LS\s*SPID\s*ASP\s*SPID$/ ... (/^LS\s*SPID\s*ASP\s*SPID$/ || /^END$/)) {
print "$. \t $_\n";
}
}
Большое спасибо за быстрый ответ. Я прочитал об этой специальной последовательности E0, добавляемой к возвращаемому значению, но не смог визуализировать об использовании этого для решения моей проблемы. Благодаря! – pkr13