06 апр. 2019, суббота, в 16:39 NOVT, Mikhail Stakhanov написал(а):
MS> Хешь вида {key}[0..n] (имя файла и номер каталога). Hужна сортировка по
MS> {key}.
MS> Хотя можно выделять массив на начальную букву, его сортировать и
MS> запихивать в
MS> файл. Hо всеравно в качестве развития как по {key} такой хеш сортируется
MS> ?
Первым делом нужно понять, что понятие "сортировки" или даже порядка
неприменимо к хешам. Их внутреннее хранение не определено.
Сортированным может быть список скаляров, то есть ключей:
my @sorted_keys = sort(keys(%hash));
Функция keys, применённая к хешу, возвращает новый список
с копиями ключей этого хеша, а функция sort возвращает
ещё одну копию списка, уже сортированную (после чего промежуточные
копии удаляются сборщиком мусора как не имеющие ссылок на них).
И вот потом уже можешь делать foreach (@sorted_keys) и
внутри цикла переменная $_ будет пробегать значения ключей
в порядке возрастания.
Eugene
--
Поэты - страшные люди. У них все святое.