use strict; use warnings; $\="\n"; # Предположим, что имеется некоторый хеш, ключи которого выглядят так: my %foo = ( 'Close|___|your|___|window' => 'Closed', 'Open|___|the|___|door' => 'Opened', 'Just|___|three|___|words' => 'Amazing' ); # т.е. в имени ключа используется разделитель '|___|'. # И для того, чтобы не писать весь этот ужас каждый раз в имени ключа, # перл предоставляет небольшое упрощение для данной задачи. # К примеру, вместо вот этого: print $foo{'Open|___|the|___|door'}; print $foo{'Just|___|three|___|words'}; print '-' x 15; # можно написать вот так: $; = '|___|'; # в данной ситуации эта волшебная переменная, # позволяет настраивать разделитель # для доступа к элементам хеша по ключу. print $foo{'Open', 'the', 'door'}; print $foo{'Just', 'three', 'words'}; # но можно сделать еще более читабельным наименование ключа: print $foo{qw/Close your window/}; # Итог, при любом способе, будет предсказуем: # # Opened # Amazing # --------------- # Opened # Amazing # Closed
четверг, 24 сентября 2015 г.
Упрощаем доступ к хешу по ключу, с использованием $; переменной
Подписаться на:
Комментарии к сообщению (Atom)
Вот ведь жесть-то. Никогда так не делайте.
ОтветитьУдалитьКак говорит документация к этой переменной: Consider using "real" multidimensional arrays as described in perllol.
ОтветитьУдалить