У меня есть текстовый файл, считанный как массив. Я проверяю каждую строку этого массива и пытаюсь извлечь часть строки в скрипте Perl, если она соответствует шаблону.regex to pull часть строки
---
Message '/com/java/deploy/mess1' on folder1 'f1' is running.
Additional thread instances: '0'
Deployed: '11/12/13 1:54 AM' in Jar file '/deploy/ENV/folder1/mess1ENV11122013.jar'
Last edited: '5/24/13 4:38 PM'.
Long description: ''
---
Message '/com/java/deploy/mess2' on folder1 'f1' is running.
Additional thread instances: '0'
Deployed: '11/12/13 1:54 AM' in Jar file '/deploy/ENV/folder1/mess2ENV11122013.jar'
Last edited: '5/24/13 4:38 PM'.
Long description: ''
----
Message '/com/java/deploy/mess3' on folder1 'f1' is running.
Additional thread instances: '0'
Deployed: '11/12/13 1:54 AM' in Jar file '/deploy/ENV/folder1/mess3ENV11122013.jar'
Last edited: '5/24/13 4:38 PM'.
Long description: ''
Я ищу mess1 и пытаюсь извлечь информацию о банке из вышеуказанного массива.
foreach $line (@messdetials) {
if ($line =~ mess1) {
next if /^(\s)*$/;
if (/in Jar file '(.*?)'/) {
@jardetails = `$displaycommand -b $1`;
print @jardetails;
}
Я надеюсь извлечь /deploy/ENV/folder1/mess1.jar
FRON массива и запустить скрипт Inhouse против него, но я не вижу выхода.
Итак, каждая строка выше - это один элемент в вашем массиве или каждый блок - это один элемент? (блоки разделяются -) –
Если 'if ($ line = ~ mess1) {' be 'if ($ line = ~/mess1 /) {'? Заметьте, я добавил косые черты. – bloodyKnuckles
@bloodyKnuckles: Это то же самое. Он не жалуется, потому что OP явно не использует 'use strict' и' use warnings' – Borodin