[Moscow.pm] Вопрос про дескрипторы и STDOUT.
andrey.asyakin
asan999 на gmail.com
Ср Дек 25 06:10:42 PST 2013
Никак. То есть можно, но - цитирую перлдок: если в <> находится что-то,
не являющееся файлхэндлом, либо простым скаляром, содершащим файлхэндл,
то эта хрень будет расценена как шаблон имени файла для glob, то есть, в
твоем случае это эквивалентно glob("$self->{$fd}")
на второй вопрос, STDOUT-ы находятся в main, не знаю, может можно как то
извратиться...
25.12.2013 17:13, Харпалёв Иван пишет:
> Доброго времени суток, глубокоуважаемый MoscowPM!!
>
> Несколько вопросов связанных с дескрипторами:
>
> 1) Как написать $string = <$self->{$fd}> ??
>
> 2) Можно ли "определить STDOUT внутри пакета" снаружи него?
>
> что-то вроде
>
> perl -E '
> package P;
> sub f{print 33};
>
> package main;
> open my $out, "<out";
> *P::STDOUT=$out; #или local или как-то ещё...
>
> P->f()'
>
> только, чтобы работало.
>
> Кажется нужным для написания тестов всему, что срёт на экран.
>
>
> Спасибо!
>
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20131225/240f8bd0/attachment.html>
Подробная информация о списке рассылки Moscow-pm