[Moscow.pm] Перехватить STDERR
Dmitry E. Oboukhov
unera на debian.org
Ср Янв 14 06:58:30 PST 2009
есть задача перехватить весь STDERR и выдать его потом
в скажем функции get_stderr
все это дело происходит в бааальшом проекте
в контексте
use utf8;
use open qw(:std :utf8);
раньше перехват делался примерно так:
0. создаем два пайпа
1. основной процесс форкается
2. один пайп превращаем в STDERR по нему все гонится в дочку
3. по второму пайпу вычитываем из дочки содержимое STDERR.
все работает, но хочется избавиться от форка.
попробовал я заменить STDERR на объект IO::String, работает
в пределах одного теста, но в проекте натыкается на
use open qw(:std :utf8); и обламывается на том что не может
сделать binmode.
можно ли как-то
1. обойтись без форка
2. обойтись без изъятия директивы use open qw(:std :utf8);?
--
... mpd playing: U.D.O. - Heart Of Gold
. ''`. Dmitry E. Oboukhov
: :’ : email: unera на debian.org jabber://UNera@uvw.ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
----------- следущая часть -----------
A non-text attachment was scrubbed...
Name: отсутствует
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20090114/4cd202b9/attachment.bin>
Подробная информация о списке рассылки Moscow-pm