Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     16 Sep 2002  18:56:29
 To : Artem Chuprina
 Subject : Re: __DATA__ blocks & use
 -------------------------------------------------------------------------------- 
 
 Artem Chuprina wrote:
 
 > Здравствуй, Alex Dedul.
 > 
 > AD> Hi, Artem !
 > 
 > AD> Помню когда-то , 16 Sep 02 в 00:19, Artem Chuprina напиcал для Alex Dedul
 > AD> нижecлeдyющee:
 >  AD>>> Хочется заиметь доступ к filehandle ::DATA из модуля подключенного
 >  AD>>> через use. Знаю что напрямую это не сделаешь, потому как use
 >  AD>>> выполняется on compile time, в то время как ::DATA мы имеем на
 >  AD>>> стадии выполнения. Пробовал читать SelfLoader, perlsub, perldata и
 >  AD>>> ничего дельного не вычитал, только еще больше убедился в
 >  AD>>> неосуществимости сей задачки. И вот чтоб окончательно завалить эту
 >  AD>>> горячо желанную фичу обращаюсь к общественности, подсобите плиз
 >  AD>>> ж).
 >  AC>> Я в свое время делал (кажется, уже не помню) так: кодом модуля (на
 >  AC>> стадии компиляции) содержимое __DATA__ писалось в глобальную
 >  AC>> переменную. А потом из нее радостно читалось, сколько влезет.
 > 
 > AD>         Так ведь ::DATA на стадии компиляции не определено, точнее хэндл
 > AD> не создан. Или ты читал сам руками ? Хм, а это вариант, спасибо, другого
 > AD> тут видимо и не будет. Типа того должно получиться ?
 > 
 > А, я не заметил той тонкости, что у тебя это DATA скрипта, а не модуля... Hе
 > уверен, может и не получиться.
 
 Если обращение к main::DATA из CHECK {...} по каким-то причинам
 слишком поздно для Вас, то оформите ваш модуль как фильтр (в реальности
 ничего и не фильтрующий) см. perldoc perlfilter. И будете иметь возможность
 поглазеть в содержимое вызывающего скрипта еще на стадии его компиляции.
 Только постарайтесь потом не перехитрить собственный парсер выражениями типа:
 
 print <<__XXX__;
 __DATA__
 __XXX__
 __DATA__
 Андрей
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 __DATA__ blocks & use   Alex Dedul   15 Sep 2002 13:12:08 
 __DATA__ blocks & use   Dmitry Smolin   15 Sep 2002 23:24:28 
 __DATA__ blocks & use   Alex Dedul   16 Sep 2002 12:38:04 
 __DATA__ blocks & use   Dmitry Smolin   16 Sep 2002 15:44:36 
 __DATA__ blocks & use   Alex Dedul   16 Sep 2002 17:55:04 
 Re: __DATA__ blocks & use   Artem Chuprina   16 Sep 2002 00:19:10 
 __DATA__ blocks & use   Alex Dedul   16 Sep 2002 12:46:14 
 Re: __DATA__ blocks & use   Artem Chuprina   16 Sep 2002 18:04:45 
 Re: __DATA__ blocks & use   Andrey Sapozhnikov   16 Sep 2002 18:56:29 
 __DATA__ blocks & use   Alex Dedul   16 Sep 2002 19:17:43 
 Re: __DATA__ blocks & use   Andrey Sapozhnikov   16 Sep 2002 22:24:42 
 __DATA__ blocks & use   Alex Dedul   16 Sep 2002 22:25:14 
Архивное /ru.perl/528430ff0a3b.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional