LINUX.ORG.RU
решено ФорумAdmin

Условие разбора выхлопа STDIN

 , , , ,


0

1

STDIN №1

...
  Termination:            *** Backup Error ***
...
STDIN №2
...
  Termination:            Backup OK
...
Цитата скрипта:
...
my %term_backup = ("OK", "0" , "OK -- with warnings", "1");
...
while (<STDIN>) {
    if (/Termination:\s*Backup\s*/) {
      my $term = $'; chop($term);
      if (exists($term_backup{$term})) {
        $term=$term_backup{$term};
      } else {
        $term="2";
      };
      print $term, "\n";
    } elsif ....
Правило в условии для STDIN №1 не срабатывает. Подскажите как подкорректировать условие?

★★★★★

проще всего поправить на так:

if (/Termination:.*Backup\s*/)
Можно по точнее, т.е указать что в строке есть *** , но если не принципиально то так.

pyatak123
()
Ответ на: комментарий от pyatak123

Спасибо

проще всего поправить на так:

А я вот так пробовал ((

if (/Termination:\.*Backup\s*/)

Можно по точнее, т.е указать что в строке есть *** , но если не принципиально то так.

Да не принципиально, в массиве два совпадения «хорошо», «хорошо с оговорочками», а все остальное считаю ошибками.

petav ★★★★★
() автор топика
Ответ на: комментарий от pyatak123

Нет все таки Ваша строка работает правильнее. Спасибо

petav ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.