Урок 25. Функции для работы с хешами
Функция Delete
delete выражение;
Удалить значение из хеша. Возвращает удаляемое значение или неопределенность, если ничего не удаляется. Удаление из массива окружения $ENV{} - изменяет окружение. Удаление из хеша связанного с базой данных - удаляет запись в базе данных.
#!/usr/bin/perl
#programm 19
print "Content-Type: text/html\n\n";
%c=(
'Windows 98' => '1998',
'Windows 2000' => '1999',
'Windows XP' => '2001'
);
$flag=1;
delete $c{'Windows XP'};
@array=%c;
print " \n";
foreach $i(@array){
if($flag==1){$flag=0;
print "$i | ";
}else{$flag=1;
print "$i | \n"
}}
print " ";
Функция Each
each хеш;
Возвращает 2-элементный массив. Первый элемент - ключ второй - значение следующего элемента хеша. Позволяет "просматривать" все значения хеша в определенном порядке. Сброс переменной цикла происходит только после прохождения всего массива. Код ниже выводит все пары ключ-значение из хэша:
%c=(
'Windows 98' => '1998',
'Windows 2000' => '1999',
'Windows XP' => '2001'
);
while(($key,$value) = each %c){
print "$key => $value \n";
};
Функция Exists
exists выражение;
Возвращает true, если существует указанный ключ хеша, даже если не определено его значение.
%hash=(
'Windows 98' => '1998',
'Windows 2000' => '1999',
'Windows XP' => '2001'
);
if(exists($hash{"Windows 98"})){
print "Элемент найден";
}else{
print "Элемент не найден";
}
Функция Keys
keys хеш;
Возвращает массив всех ключей хеша. В скалярном контексте - количество ключей. Порядок следования ключей аналогичен порядку в each функции. Следующий код выводит все ключи хэша:
%hash=(
'Windows 98' => '1998',
'Windows 2000' => '1999',
'Windows XP' => '2001'
);
foreach $k (keys %hash){
print "$k ";}
Функция Values
values хеш;
Возвращает обычный массив со всеми значениями хеша. В скалярном контексте возвращает количество значений хеша.
%hash=(
'Windows 98' => '1998',
'Windows 2000' => '1999',
'Windows XP' => '2001'
);
foreach $k (values %hash){
print "$k ";
}
* * * *
[Содержание]
[Вступление]
[необходимое для начала изучения]
[урок 1]
[урок 2]
[урок 3]
[урок 4]
[урок 5]
[урок 6]
[урок 7]
[урок 8]
[урок 9]
[урок 10]
[урок 11]
[урок 12]
[урок 13]
[урок 14]
[урок 15]
[урок 16]
[урок 17]
[урок 18]
[урок 19]
[урок 20]
[урок 21]
[урок 22]
[урок 23]
[урок 24]
[урок 25]
[урок 26]
[урок 27]
[урок 28]
[правила хорошего тона]
[приложение A]
[приложение Б]
[приложение В]
[заключение]
[благодарности]
|