perl哈希的一個(gè)實(shí)例分析
#!/bin/perl
use strict;
use warnings;
my %movies;
my $film;
my %reverse_result;
my $director;
my @data;
%movies =
(
'The Shining' => 'Kubrick',
'Ten Commandments' => 'DeMille',
'Goonies' => 'Spielberg',
);
#輸出哈希的值,輸出的結(jié)果為Kubrick
print $movies{'The Shining'};
#同時(shí)輸出鍵和值
foreach $film(keys %movies)
{
print "$film was directed by $movies{$film}.\n";
}
#添加空格
print "\n";
#哈希結(jié)構(gòu)的切換
%reverse_result=reverse %movies;
foreach $director(keys %reverse_result)
{
print "$director directe the $reverse_result{$director}.\n";
}
#添加空格
print "\n";
#當(dāng)哈希結(jié)構(gòu)用于列表環(huán)境中時(shí),perl會(huì)將hash重新變?yōu)橛申P(guān)鍵詞和鍵值組成的普通列表
@data=%movies;
print "@data\n";
#添加空格
print"\n";
#得到的數(shù)組是一個(gè)分為奇數(shù)為film,偶數(shù)為director的數(shù)組,或者相反
#然后我們將數(shù)組賦值給hash
%movies=@data;
foreach $director(keys %reverse_result)
{
print "$director directe the $reverse_result{$director}.\n";
}
print "The result is not change\n";
以下為輸出結(jié)果:
F:\>perl\a.pl
KubrickGoonies was directed by Spielberg.
The Shining was directed by Kubrick.
Ten Commandments was directed by DeMille.
DeMille directe the Ten Commandments.
Spielberg directe the Goonies.
Kubrick directe the The Shining.
Goonies Spielberg The Shining Kubrick Ten Commandments DeMille
DeMille directe the Ten Commandments.
Spielberg directe the Goonies.
Kubrick directe the The Shining.
F:\>
#----測(cè)試哈希key的方法:
if(exists $hash{keyval})
{
}
#----刪除關(guān)鍵字:
delete hash {keyval};
#---清空哈希:
%hash=();
相關(guān)文章
perl 標(biāo)量和運(yùn)算符的一些知識(shí)介紹
有關(guān)perl的標(biāo)量和運(yùn)算符的一些知識(shí),有需要的朋友可以看看2013-02-02perl之print,printf,sprintf使用案例詳解
這篇文章主要介紹了perl之print,printf,sprintf使用案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09