[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: пара отвлеченных вопросов, офтопик



>  >>  DEO> тогда пойдем от слова "неопределенный"
>  >> 
>  >>  DEO> что в первом что во втором варианте именно вызываемая функция делает
>  >>  DEO> хендл определенным, определяет его.
>  >>  DEO> :)
>  >> 
>  >> Хендл - допустим.  А вот переменную она делает определенной только во
>  >> втором случае.  В первом случае глоб делает определенным упоминание его
>  >> в коде.
>  DEO> ты опять назовешь меня ламером но про второй случай я не понял.
>  DEO> о каком глобе может идти речь _до_ вызова функции?
> 
> О глобе FILE.  Когда именно он будет создан - на стадии компиляции
> (perl, видя в этом месте bareword, уже в курсе, что имеется в виду глоб)
> или непосредственно перед вызовом функции, я не скажу, но что до вызова
> - факт.
а вот это легко проверяется. я выше приводил текст про ошибки
он ругается именно на стадии выполнения (если используем глобы).
и ошибки навроде
print FILEEEEEE "бла-бла"; (предполагается что FILE неверно написан)
тоже только на этапе работы выясняются, а не на этапе компиляции.
(собственно об этом и речь была выше), так что представляется крайне
сомнительным что что-то там такое определяется на этапе компиляции  :D

> Заполнено его файлхендловое гнездо будет, да, уже внутри.
> 
> Собственно, в open, print и т.п. можно передавать ссылку на глоб.
> Которую можно присвоить переменной.  Что-то типа
> 
> my $handle = \*FILE; open($handle, ...);
> 
> Этот фокус в 5.0 работал.  Во всяком случае, в 5.0.005.
у меня книжка по 5.6 (насколько помню)
там написано что если передавать простой скаляр, то он становится
объектом, "самооживляется" в их терминологии. закрывает файлы по выходе
из области видимости итп



Reply to: