URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7469
[ Назад ]

Исходное сообщение
"Perl: парсинг вывода самого перл-скрипта"

Отправлено nrza , 09-Июл-08 12:24 
Доброго времени суток!
народ, поскажите пожалуйста, как в перле пропарсить всё что текущий скрипт будет выводить.
Т.е. скрипт выводит что-то на stdout/stderr, и я хочу пропарсить этот вывод на слова "error, failed,etc" и в случае чего отправить уведомление на мыло.
Заранее спасибо!

Содержание

Сообщения в этом обсуждении
"Perl: парсинг вывода самого перл-скрипта"
Отправлено phpcoder , 09-Июл-08 12:28 
>Доброго времени суток!
>народ, поскажите пожалуйста, как в перле пропарсить всё что текущий скрипт будет
>выводить.
>Т.е. скрипт выводит что-то на stdout/stderr, и я хочу пропарсить этот вывод
>на слова "error, failed,etc" и в случае чего отправить уведомление на
>мыло.

Я бы сделал это на шелле:

script.pl 2>&1 | my_script.sh

А уже в my_script.sh grep'ать и искать/отправлять (пару строчек).



"Perl: парсинг вывода самого перл-скрипта"
Отправлено angra , 10-Июл-08 04:10 
Если нужно парсить из самого скрипта, то, как обычно в перле, есть несколько вариантов. Я бы рассмотрел в зависимости от специфики:
1. переоткрытие STDOUT и STDERR
2. использование die для вывода сообщений об ошибках и отлавливание их при помощи eval
3. поиск на cpan готового модуля логирования

"Perl: парсинг вывода самого перл-скрипта"
Отправлено NuINu , 10-Июл-08 11:29 
>Доброго времени суток!
>народ, поскажите пожалуйста, как в перле пропарсить всё что текущий скрипт будет
>выводить.
>Т.е. скрипт выводит что-то на stdout/stderr, и я хочу пропарсить этот вывод
>на слова "error, failed,etc" и в случае чего отправить уведомление на
>мыло.
>Заранее спасибо!

на мой взгляд, если это такие страшные слова, то их можно просто не выводить туда. :)