PERL - статьи


Объявление


Хэши начинаются с префикса %: %hash. Для работы с с хэш-массивами нужно, как и в обычных массивах, использовать разыменовывающий префикс $: $hash{шляпа} = серая;

Хэш можно определить несколькими способами:

%hash = (

'шляпа' => 'серая',

'водка' => 'горькая',

'вобла' => 'вкусная',

'штаны' => 'широкие',

'пиво' => 'темное',

'игрушка' => 'любимая');

%hash = (); #можно не указывать пустой хеш для создания массива, perl может сам создавать пустой хэш.

$hash{'шляпа'} = 'серая';

$hash{'водка'} = 'горькая';

$hash{'вобла'} = 'вкусная';

$hash{'штаны'} = 'широкие';

$hash{'пиво'} = 'темное';

$hash{'игрушка'} = 'любимая';

Если используется пробел при определении элемента хэша, то этот пробел лучше поставить в одинарные кавычки $hash{'дырявая шляпа'} = серая;

Добавить элементы в хеш можно так:

%hash = (

'шляпа' => 'серая',

'водка' => 'горькая',

'вобла' => 'вкусная');

%hash = (%hash, 'кошка', 'мягкая');

foreach $k (keys %hash){

print "$k = $hash{$k}\n";

}

и так:

%hash = (

'шляпа' => 'серая',

'водка' => 'горькая',

'вобла' => 'вкусная');

$hash{"дом"} = "большой";

$hash{"дым"} = "сизый";

foreach $k (keys %hash){

print "$k = $hash{$k}\n";

}

и еще например так:

my %Years = (

1999 => "golos1999.html",

2000 => "golos2000.html",

2001 => "golos2001.html",

map{$_ => "golos$_.html"}(2002..2032)

);

т.е. если у нас есть файлы, которые группируются по годам, дням, месяцам или еще как,

то дабы не переписывать скрипт, можно сказать

map { $_ => "golos$_.html" } (2002..2032)

где год или неделя берется из какое-йнибудь переменной, в данном случае из $_.




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



Книжный магазин