Perl. Библиотека программиста

Хэши

Занесение элемента в хэш

Требуется добавить в хэш новый элемент.

Проверка наличия ключа в хэше

Требуется узнать, содержит ли хэш конкретный ключ независимо от ассоциированного с ним значения.

Удаление из хэша

Требуется удалить элемент из хэша, чтобы он не опознавался функцией keys, values или each. Например, если в хэше имена работников ассоциируются с окладами, после увольнения работника необходимо удалить его строку из хэша.

Перебор хэша

Требуется выполнить некоторые действия с каждым элементом (то есть парой «ключ/значение») хэша.

Вывод содержимого хэша

Требуется вывести содержимое хэша, однако конструкции print "%ХЭШ" и print %ХЭШ не работают.

Перебор элементов хэша в порядке вставки

Функции keys и each извлекают элементы хэша в довольно странном порядке. Вы хотите получить элементы в порядке вставки.

Хэши с несколькими ассоциированными значениями

Требуется хранить в хэше несколько значений, ассоциированных с одним ключом.

Инвертирование хэша

Хэш связывает ключ с ассоциированным значением. У вас имеется кэш и значение, для которого требуется определить ключ.

Сортировка хэша

Требуется работать с элементами хэша в определенном порядке.

Объединение хэшей

Требуется создать новый хэш, содержащий элементы двух существующих хэшей.

Поиск общих или различающихся ключей в двух хэшах

Требуется найти в хэше ключи, присутствующие в другом хэше, — или наоборот, не входящие в другой хэш.

Хэширование ссылок

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

Предварительное выделение памяти для хэша

Требуется заранее выделить память под хэш, чтобы ускорить работу программы — в этом случае Perl не придется выделять новые блоки при каждом добавлении элемента. Окончательный размер хэша часто бывает известен в начале построения, и эта информация пригодится для повышения быстродействия.

Поиск самых распространенных значений

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

Представление отношений между данными

Требуется представить отношения между данными — например, отношенш «предок/потомок» в генеалогическом дереве или «родительский/порожденный процесс» в таблице процессов. Задача тесно связана с представлением таблиц в реляционных базах данных (отношения между записями) и графов в компьютерных технологиях (отношения между узлами графа).

Реклама