Dmitry E. Oboukhov -> [email protected] @ Mon, 19 Jun 2006
23:16:24 +0400:
>> >> DEO> тогда пойдем от слова "неопределенный"
>> >>
>> >> DEO> что в первом что во втором варианте именно вызываемая функция
>> делает
>> >> DEO> хендл определенным, определяет его.
>> >> DEO> :)
>> >>
>> >> Хендл - допустим. А вот переменную она делает определенной только во
>> >> втором случае. В первом случае глоб делает определенным упоминание его
>> >> в коде.
>> DEO> ты опять назовешь меня ламером но про второй случай я не понял.
>> DEO> о каком глобе может идти речь _до_ вызова функции?
>>
>> О глобе FILE. Когда именно он будет создан - на стадии компиляции
>> (perl, видя в этом месте bareword, уже в курсе, что имеется в виду глоб)
>> или непосредственно перед вызовом функции, я не скажу, но что до вызова
>> - факт.
DEO> а вот это легко проверяется. я выше приводил текст про ошибки
DEO> он ругается именно на стадии выполнения (если используем глобы).
DEO> и ошибки навроде
DEO> print FILEEEEEE "бла-бла"; (предполагается что FILE неверно написан)
DEO> тоже только на этапе работы выясняются, а не на этапе компиляции.
DEO> (собственно об этом и речь была выше), так что представляется крайне
DEO> сомнительным что что-то там такое определяется на этапе компиляции :D
Ты путаешь определенность глоба как такового и заполнение его
файлхендлового гнезда.
>> Заполнено его файлхендловое гнездо будет, да, уже внутри.
>>
>> Собственно, в open, print и т.п. можно передавать ссылку на глоб.
>> Которую можно присвоить переменной. Что-то типа
>>
>> my $handle = \*FILE; open($handle, ...);
>>
>> Этот фокус в 5.0 работал. Во всяком случае, в 5.0.005.
DEO> у меня книжка по 5.6 (насколько помню)
DEO> там написано что если передавать простой скаляр, то он становится
DEO> объектом, "самооживляется" в их терминологии. закрывает файлы по выходе
DEO> из области видимости итп
А в 5.0.005 этого еще нет. Ы?
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: [EMAIL PROTECTED]
Все гениальное просто.
Но со вкусом.
Кнышев.
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]