PERL - статьи


Массивы хэшей


Массивы хэш-таблиц позволяют индексировать числовым значением записи с

именованными полями. В следующем примере создается массив хэшей:

@array = (

{

favorite => "apples",

'second favorite' => "оranges"

},

{

favorite => "corn",

'second favorite' => "peas",

'last favorite' => "turnip"

},

{

favorite => "chiken",

'second favorite' => "beef"

}

print $array[0]{favorite};

Обратите внимание, что для конструкций вида [...]{...},

как и для рассматриваемых ранее конструкций

вида {...}{...} и

[ ][[ ], между парами скобок неявно

подставляется оператор-стрелка -> разыменования ссылок.

Создание массива хэшей на лету

Можно создавать массивы хэшей шаг за шагом, присваивая

ссылки на анонимные хэши элементам массива:

@аггау[0] = {favorite => "apples",

'second favorite' => "oranges"};

@array[1] = {favorite => "corn",

'second favorite' => "peas",

'least favorite' => "turnip"};

@array[2] = {favorite => "chicken",

'second favorite' => "beef"};

print $array[0]{favorite};

Как и в случае массива массивов, вы можете воспользоваться функцией push:

push @array, {favorite => "apples",

'second favorite' => "oranges"};

push @array, {favorite => "corn",

'second favorite' => "peas",

'least favorite' => "turnip"};

push @array, {favorite => "chicken",

'second favorite' => "beef"};

print $array[0]{favorite};

В следующем примере мы последовательно читаем из текстовых строк пары

ключ/значение и превращаем их в массив хэшей:

$data[0] = "favorite:apples, second favorite:оranges";

$data[1] = "favorite:corn, second favorite:peas, least favorite:turnip";

$data[2] = "favorite:chicken, second favorite:beef";

for $loopindex (O..$#data) {

for $element(split ',', $data[$loopindex]){




Начало  Назад  Вперед