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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Глава 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