Как сопоставить (и отсортировать) значения из хеш-значений хешей?

У меня есть хеш-код, например:

%hash = ( a  => { b => 1, c =>2, d => 3},
          a1 => { b => 11, c =>12, d => 13},
          a2 => { b => 21, c =>22, d => 23} )

Я хочу извлечь элемент "b" и поместите его в массив. Прямо сейчас я просматриваю хэш, чтобы сделать это, но я думаю, что могу немного повысить эффективность, используя вместо этого карту. Я' Я почти уверен, что если бы это был массив хэшей, я бы использовал что-то вроде этого:

@hasharray = ( { b => 1, c =>2, d => 3},
               { b => 11, c =>12, d => 13},
               { b => 21, c =>22, d => 23} )
@array = map { ($_->{b} => $_) } @hasharray

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

Более того, следующим шагом в этом коде является сортировка массива после его заполнения. Я почти уверен, что это возможно, но я недостаточно умен в использовании карты, чтобы понять это сам. Как мне сделать все за один раз?

Спасибо. Я хотел бы знать, как мне подойти к отображению хеша хешей? Возможно ли это вообще с помощью карты? Мне еще предстоит найти какие-либо примеры этого.

Более того, следующим шагом в этом коде является сортировка массива после его заполнения. Я почти уверен, что это возможно, но я недостаточно умен в использовании карты, чтобы понять это сам. Как мне сделать все за один раз?

Спасибо. Я хотел бы знать, как мне подойти к отображению хеша хешей? Возможно ли это вообще с помощью карты? Мне еще предстоит найти какие-либо примеры этого.

Более того, следующим шагом в этом коде является сортировка массива после его заполнения. Я почти уверен, что это возможно, но я недостаточно умен в использовании карты, чтобы понять это сам. Как мне сделать все за один раз?

Спасибо. Seth

6
задан sgsax 27 August 2010 в 14:55
поделиться