[Moscow.pm] STDIN <> и чёрная магия

Andrei andrei.protasovitski на gmail.com
Пт Дек 9 02:18:10 PST 2011


Ух ты! Похоже, тупит из-за require. У нас MIME::Types капризничал только
под Mason'ом.

2011/12/9 Mons Anderson <mons на rambler-co.ru>

> Вообще конечно интересный вопрос.
>
> use PerlIO::scalar ();
> или
> { open(my $x,'<',\$data); }
>
> в начале решает проблему в исходном примере.
>
> Но вот то, что open вообще способен сам занять свободный хендл 0 это
> засада )
>
> Бага #105658
> Попробуем пообщаться...
>
> On 09.12.2011, at 12:25, Ruslan Zakirov wrote:
>
> > 2011/12/8 Alexandr Gomoliako <zzz на zzz.org.ua>:
> >> Все сводится к тому, что при первой open после закрытия fd 0
> >> подгружается PerlIO и соответственно использует первый
> >> свободный дексриптор, т.е. fd 0.
> >
> > Блин. Ну почему это не баг. Еще один прикол из этой серии:
> >
> > local *STDOUT
> > open STDOUT, ...;
> >
> > system ...
> > open my $fh, '|-', ...
> >
> > Тоже соответственно не работают нормально из-за этого.
> >
> > Еще в этом направлении. В mod_perl 2, до версии 2.0.5 есть проблема.
> > Они закрывают STDOUT и открывают его на /dev/null, но делают это
> > "неправильно". Что приводит к тому, что fd #1 остается свободен и его
> > получает что-то другое, например БД.
> > Как вы понимаете запуск утилиты без перехвата вывода приводит к записи
> > в хендл БД мусора и разрыву соединения. Дебажить это было весело.
> >
> >
> >
> >
> > --
> > Best regards, Ruslan.
> > --
> > Moscow.pm mailing list
> > moscow-pm на pm.org | http://moscow.pm.org
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Andrei Protasovitski
< andrei[dot]protasovitski[at]gmail[dot]com >
Diemen, Netherlands
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20111209/274ada18/attachment.html>


Подробная информация о списке рассылки Moscow-pm