代碼如下:
#!/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=();
新聞熱點(diǎn)
疑難解答
圖片精選