Ниже приведены данные, над которыми я работаю:
__DATA__
Node 1:
98 debug : fill 100
102 debug : fill 104
Node 2:
88 debug : fill 120
152 debug : fill 164
Я хочу написать регулярное выражение / (или любое другое подходящее) для сбора информации из данных ниже Узла 1, скажем, «98: 100», но только после идентификации Узла 1 и сохранения ее в массиве, скажем @ value1 (т.е. значения в @ value1 соответствуют данным ниже узла 1). И аналогичным образом собирать и хранить информацию из данных ниже узла 2, скажем, 152: 164, после того, как узел 2 был идентифицирован в другом массиве, скажем, «@ значение2». Регулярное выражение, которое я использую для сбора информации:
"qr/\s+([0-9]{2,3})\s[a-z]+\s(:)\s[a-z]\s([0-9]{3})/
". Но если я использую оператор «если»
while (<>){
if ($_=~ /Node 1/){
#capture information using regex
}
}
перед регулярным выражением, скрипт не возвращает никакого значения, вероятно, потому что он ищет или повторяет регулярное выражение в той же строке после слова «Узел».
Любые предложения о том, как перейти к следующей строке после идентификации конкретного узла и сбора информации с помощью регулярных выражений.