[Moscow.pm] Вопрос про дескрипторы и STDOUT.
Ilya Chesnokov
chesnokov.ilya на gmail.com
Ср Дек 25 06:45:22 PST 2013
25 декабря 2013 г., 17:13 пользователь Харпалёв Иван <
ivan.kharpalev на gmail.com> написал:
> 2) Можно ли "определить STDOUT внутри пакета" снаружи него?
>
> что-то вроде
>
> perl -E '
> package P;
> sub f{print 33};
>
> package main;
> open my $out, "<out";
> *P::STDOUT=$out; #или local или как-то ещё...
>
> P->f()'
>
> только, чтобы работало.
>
> Кажется нужным для написания тестов всему, что срёт на экран.
>
>
Передавать тому, что срет, дескриптор как параметр. По умолчанию пусть срет
в STDOUT или куда надо.
Также можно перед тестами делать my $OLD_FH = select $TEMP_FH;, а по
окончании их - select $OLD_FH;
--
Best regards,
Ilya Chesnokov
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20131225/52128b5f/attachment.html>
Подробная информация о списке рассылки Moscow-pm