|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 15 May 2003 15:45:03 To : "Roman Kirjanov" Subject : Re: Константы и ключи хэша -------------------------------------------------------------------------------- Здравствуй, Roman Kirjanov. RK> my %hash = ('one' => 'один', 'FOO' => 'This is FOO'); RK> use constant FOO => 'one'; RK> print $hash{FOO}; RK> Можно ли как-нить добиться результатов, как от print $hash{(FOO)}; ну там RK> переменную какую внутреннюю, use какой-нить. Hе нравится $hash{(FOO)}: этож RK> можно и $hash{(((FOO)))} написать - тоже будет работать. constant делает FOO по синтаксису функцией. Известной, с прототипом (). Со всеми вытекающими. Включая то, что FOO можно использовать там, где другим механизмом bareword не естся по своим правилам. В фигурных скобках у разыменования элемента хэша и слева от => (могут быть и другие места, сходу не помню) bareword естся как строковая константа, так что туда bareword совать не надо, если ты имел в виду позвать функцию с таким именем. Да, можно еще $hash{FOO()}, и это будет ближе всего к истине. -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/1147794695339.html, оценка из 5, голосов 10
|