|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Andrey Sapozhnikov 2:5020/400 15 May 2003 17:33:10 To : Roman Kirjanov Subject : Re: Константы и ключи хэша -------------------------------------------------------------------------------- Roman Kirjanov wrote: > Hello, All! > > my %hash = ('one' => 'один', 'FOO' => 'This is FOO'); > use constant FOO => 'one'; > print $hash{FOO}; > > Можно ли как-нить добиться результатов, как от print $hash{(FOO)}; ну там > переменную какую внутреннюю, use какой-нить. Hе нравится $hash{(FOO)}: этож > можно и $hash{(((FOO)))} написать - тоже будет работать. perldoc constant ... You can get into trouble if you use constants in a context which auto- matically quotes barewords (as is true for any subroutine call). For example, you can't say $hash{CONSTANT} because "CONSTANT" will be interpreted as a string. Use $hash{CONSTANT()} or $hash{+CONSTANT} to prevent the bareword quoting mechanism from kicking in. Similarly, since the "=>" operator quotes a bareword immediately to its left, you have to say "CONSTANT() => 'value'" (or simply use a comma in place of the big arrow) instead of "CONSTANT => 'value'". ... -- Андрей --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/6577be8d7191.html, оценка из 5, голосов 10
|