Perl хэши
Хэш является парключ / значение.
Perl хэши начинаются с знака процента (%) марок.
Доступ вформате хэш - элемент:$ {ключ}.
Ниже приведен простой пример хэш:
#!/usr/bin/perl %data = ('google', 'google.com', 'w3big', 'w3big.com', 'taobao', 'taobao.com'); print "\$data{'google'} = $data{'google'}\n"; print "\$data{'w3big'} = $data{'w3big'}\n"; print "\$data{'taobao'} = $data{'taobao'}\n";
Вышеприведенная программа, выход:
Создание хэш
Вы можете создать хэш из следующих двух способов:
Во-первых, установите значение для каждого ключа
$data{'google'} = 'google.com'; $data{'w3big'} = 'w3big.com'; $data{'taobao'} = 'taobao.com';
Во-вторых, через сет-лист
Первый элемент в списке ключа, второе значение.
%data = ('google', 'google.com', 'w3big', 'w3big.com', 'taobao', 'taobao.com');
Вы также можете использовать=> символ , чтобы установить ключ / значение:
%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');
Следующие примеры представляют собой варианты приведенных выше примеров, использование- вместо кавычки:
%data = (-google=>'google.com', -w3big=>'w3big.com', -taobao=>'taobao.com');
С помощью этого ключа режима не может иметь пробелы, прочитать элемент так:
$val = %data{-google} $val = %data{-w3big}
хэш доступа элемент
хэш доступаформат элемента: $ {ключ}, примеры заключаются в следующем:
#!/usr/bin/perl %data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com'); print "\$data{'google'} = $data{'google'}\n"; print "\$data{'w3big'} = $data{'w3big'}\n"; print "\$data{'taobao'} = $data{'taobao'}\n";
Вышеприведенная программа, выход:
Читать хэш-значение
Вы можете, как значение экстракта массива из хэша.
Хэш значение извлечениясинтаксиса массива: @ {ключ1, ключ2}.
#!/uer/bin/perl %data = (-taobao => 45, -google => 30, -w3big => 40); @array = @data{-taobao, -w3big}; print "Array : @array\n";
Вышеприведенная программа, выход:
Array : 45 40
Читает хэш-ключ и значение
Читать все клавиши
Мы можем использовать функциональныеклавиши , чтобы прочитать все хэш - ключи, синтаксис выглядит следующим образом :
keys %HASH
Эта функция возвращает массив всех ключей хэш всех.
#!/usr/bin/perl %data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com'); @names = keys %data; print "$names[0]\n"; print "$names[1]\n"; print "$names[2]\n";
Вышеприведенная программа, выход:
taobao google w3big
То , что я могу использовать подобную функцию , чтобы прочитать всезначения хэш - значений, синтаксис выглядит следующим образом :
values %HASH
Эта функция возвращает массив всех значения всех хэшей.
#!/usr/bin/perl %data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com'); @urls = values %data; print "$urls[0]\n"; print "$urls[1]\n"; print "$urls[2]\n";
Вышеприведенная программа, выход:
taobao.com w3big.com google.com
Детектирование элемент существует
Если вы читаете пару несуществующими ключ / значение в хэш, и возвращаетнеопределенное значение, а также в осуществлении предупредительного напоминания.
Чтобы избежать такой ситуации, мы можем использоватьсуществует функцию , чтобы определить , существует ли ключ, когда существование гласит:
#!/usr/bin/perl %data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com'); if( exists($data{'facebook'} ) ){ print "facebook 的网址为 $data{'facebook'} \n"; } else { print "facebook 键不存在\n"; }
Вышеприведенная программа, выход:
facebook 键不存
Приведенный выше код мы используемIF ... ELSE заявление в следующем разделе мы познакомим специфичны.
Получает размер хэш
Хэш размер число элементов, которые мы можем получить через все элементы массива к ключу или значению, а затем вычислить количество элементов массива, чтобы получить размер хэш, примеры являются следующие:
#!/usr/bin/perl %data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com'); @keys = keys %data; $size = @keys; print "1 - 哈希大小: $size\n"; @values = values %data; $size = @values; print "2 - 哈希大小: $size\n";
Вышеприведенная программа, выход:
1 - 哈希大小: 3 2 - 哈希大小: 3
Хэш-добавлять или удалять элементы
Добавление пар ключ / значение может быть сделано путем простого присваивания. Однако удаление хеш - элементы , которые вы должны использовать функциюудаления:
#!/usr/bin/perl %data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com'); @keys = keys %data; $size = @keys; print "1 - 哈希大小: $size\n"; # 添加元素 $data{'facebook'} = 'facebook.com'; @keys = keys %data; $size = @keys; print "2 - 哈希大小: $size\n"; # 删除哈希中的元素 delete $data{'taobao'}; @keys = keys %data; $size = @keys; print "3 - 哈希大小: $size\n";
Вышеприведенная программа, выход:
1 - 哈希大小: 3 2 - 哈希大小: 4 3 - 哈希大小: 3