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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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