<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">25 декабря 2013 г., 18:45 пользователь Ilya Chesnokov <span dir="ltr"><<a href="mailto:chesnokov.ilya@gmail.com" target="_blank">chesnokov.ilya@gmail.com</a>></span> написал:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">25 декабря 2013 г., 17:13 пользователь Харпалёв Иван <span dir="ltr"><<a href="mailto:ivan.kharpalev@gmail.com" target="_blank">ivan.kharpalev@gmail.com</a>></span> написал:<div>

<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>2) Можно ли "определить  STDOUT  внутри пакета" снаружи  него?</div><div><br></div><div>

что-то вроде </div>
<div><br></div><div>perl -E '</div><div>package P; </div><div>sub f{print 33};</div><div>
<br></div><div> package main;</div><div> open my $out, "<out";</div><div> *P::STDOUT=$out;    #или local или как-то ещё...</div><div><br></div><div> P->f()'<br></div><div><br></div><div>только, чтобы работало.</div>



<div><br></div><div>Кажется нужным для написания тестов всему, что срёт на экран.</div><div><br></div></div></blockquote><div><br></div></div><div>Передавать тому, что срет, дескриптор как параметр. По умолчанию пусть срет в STDOUT или куда надо.</div>


<div>Также можно перед тестами делать my $OLD_FH = select $TEMP_FH;, а по окончании их - select $OLD_FH;</div><span><font color="#888888"><div><br></div></font></span></div></div></div></blockquote><div><br>
</div><div>А еще см. perldoc perlopentut.</div><div><br></div></div>-- <br>Best regards,<br>Ilya Chesnokov
</div></div>