Вернуться на сайт гостевой книги Power Perl Educaton Help Download Links Off-line version

Урок 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 "<table>\n";
foreach $i(@array){
if($flag==1){$flag=0;
print "<tr><td>$i</td>";
}else{$flag=1;
print "<td>$i</td></tr>\n"
}}
print "</table>";

Функция Each

each хеш;

Возвращает 2-элементный массив. Первый элемент - ключ второй - значение следующего элемента хеша. Позволяет "просматривать" все значения хеша в определенном порядке. Сброс переменной цикла происходит только после прохождения всего массива. Код ниже выводит все пары ключ-значение из хэша:

%c=(
'Windows 98' => '1998',
'Windows 2000' => '1999',
'Windows XP' => '2001'
);

while(($key,$value) = each %c){
print "$key => $value<br>\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<br>";}

Функция Values

values хеш;

Возвращает обычный массив со всеми значениями хеша. В скалярном контексте возвращает количество значений хеша.

%hash=(
'Windows 98' => '1998',
'Windows 2000' => '1999',
'Windows XP' => '2001'
);

foreach $k (values %hash){
print "$k<br>";
}

* * * *

[Содержание]  [Вступление]  [необходимое для начала изучения]  [урок 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]  [приложение Б]  [приложение В]  [заключение]  [благодарности] 


107637

98
15

HOLMS.ru Counter -эфхъё ЎшЄшЁютрэш  Counter CO.KZ


Copyright © ClericICN, 2002 - 2003