Модифицировать stderr в Perl.

программирование Linux perl

Добрый день!
Возник у меня такой вопрос:
в программе перенаправляю stderr в файл, соответственно все сообщения об ошибках сыпятся туда. Но кроме самих сообщений хотелось бы ещё дописывать вначале строки дату этого самого сообщения. Подскажите пожалуйста как это можно реализовать?

Примечание:
Ну, вобщем то так оно и есть- вывод даты перед выводом сообщения. Однако не в stdin, куда, понятное дело пишем коммандой print, и соответственно можем отправить туда что угодно в каком угодно формате, а в stderr, куда мы сами не пишем(если не использовать warn), а пишут туда все операции, завершившиеся с ошибкой (ну например попытались записать в файл, к которому нет доступа). Можно конечно после каждой операции, которая может завершиться провалом писать "... or warn/die "some message"". Но как то это слишком утомительно, на мой взгляд...

Примечание:
@Tutor
спасибо, уже близко! т.е. если самому прописывать warn и die, то пишет нормально, с датой. Но если ошибку пишет некая операция(например делаем так: `mkdir some_existing_dir`), то сообщение об ошибке (невозможно создать каталог «some_existing_dir»: Файл существует) пишется без даты. Можно ли это исправить?
Ответы:
Можно по конкретнее, что именно у вас не получается? Просто по описанному вами задача сводиться к тривиальному выводу даты перед выводом сообщения...
Как вариант, можно код обернуть в eval и уже после анализировать - есть ли ошибка, ну и выводить в STDERR и дату и сообщение.
Только print STDERR не используйте ни в коем случае - только warn или die - их хоть переопределить можно при нужде, а с print STDERR Вы уже ничего не сделаете.
use strict;


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.