П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 176945 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 74099 раз(а).

Учебник HTML.
Просмотров 73299 раз(а).

Руководство по PHP5.
Просмотров 44175 раз(а).

Хостинг через призму DNS.
Просмотров 50847 раз(а).

Подборка текстов стандартных документов.
Просмотров 44347 раз(а).

Учебник PHP - Самоучитель
Просмотров 50601 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 51013 раз(а).

Внешние атаки...
Просмотров 41321 раз(а).

Учебник PHP.
Просмотров 36555 раз(а).

SSI в примерах.
Просмотров 27434 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь




Глава 5: Хеши.
5.3 Литеральное представление хеша

У вас может возникнуть необходимость обратиться к хешу целиком — например, чтобы инициализировать его или скопировать в другой хеш. Фактически в Perl никакого литерального формата для хеша не предусмотрено, поэтому он просто представляется в виде списка. Каждая пара элементов этого списка (в котором всегда должно быть четное число элементов) задает ключ и соответствующее значение. Это развернутое представление может быть присвоено другому хешу, который затем воссоздаст тот же самый хеш. Другими словами:

@fred_list = %fred; # @fred_list получает значение
                    # ("ааа","bbb","234.5","456.7")

%barney = @fred_list; # создать %barney как %fred

%barney = %fred; # ускоренный метод выполнения этой задачи 

%smooth = ("ааа","bbb","234.5","456.7");
# создать %smooth как %fred из литеральных значений

Порядок пар ключ-значение в этом развернутом формате произвольный и контролю не поддается. Даже если вы меняете местами какие-то значения или создаете хеш целиком, возвращаемый развернутый список все равно будет стоять в том порядке, который Perl выбрал для обеспечения эффективного доступа к отдельным элементам. Ни на какую конкретную последовательность рассчитывать нельзя.

Одно из применений такого свертывания-развертывания — копирование хеш-значения в другую хеш-переменную:

%сору = %original; # копировать из %original в %сору

Используя операцию reverse, можно создать хеш, в котором ключи и значения поменяются местами:

%backwards = reverse %normal;

Конечно, если %normal имеет два идентичных значения, то в %backwards они превратятся в один элемент, поэтому данную операцию лучше всего выполнять только над хешами с уникальными ключами и значениями.

Назад | Вперед
Содержание (общее) | Содержание раздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru