#!/usr/local/bin/perl
use strict;
use warnings;
use utf8;
print "Content-type: text/html; charset=utf-8\n\n";
print "\n";
print "\n";
print "
\n";
print "CGI test\n";
print "\n";
print "\n";
# hash_key_delete0.txt
#my %address = ("鈴木" => "東京都千代田区",
#"山田" => "東京都葛飾区",
#"本田" => "愛知県名古屋市",
#"遠藤" => "大阪府堺市");
#連想配列の作り方1
my %address = ('suzuki' => 'aaa',
'yamada' => 'bbb',
'honnda' => 'ccc',
'endo' => 'ddd');
#「keys」 は、すべてのキーの値を取り出す
my @keylist = keys(%address); # ハッシュのキーのリスト
print "キーのリストは、@keylist
\n";
print "$keylist[0]\n
";
print "$address{$keylist[0]}
\n";
print "$address{'本田'}
\n";
#「keys」 は、ハッシュの要素(キー)の数を取り出す
my $array_no = keys(%address); # ハッシュの要素の個数
print "要素数は $array_no です。
\n";
#「values」 は、すべての要素の値を取り出す
my @elementlist = values %address;
print "要素のリストは、@elementlist
\n";
#全体表示
print "---- 全て表示 --
\n";
while ( my ($key, $val) = each %address ) {
print "名前: $key 住所: $val
\n";
}
# delete(ハッシュの要素を削除する) exists の使い方
if ( exists $address{"鈴木"} ) {
delete $address{"鈴木"};#"鈴木"があったとき削除する
}
delete $address{"suzuki"};
print "---- 削除後 、全て表示 --
\n";
for (my $i = 0; $i < $array_no; $i++){
print "名前: $keylist[$i] 住所: $address{$keylist[$i]}
\n";
}
#削除
%address = ();
print "---- 全て表示 --
\n";
while ( my ($key, $val) = each %address ) {
print "名前: $key 住所: $val
\n";
}
#再設定
%address = ("鈴木" , "東京都千代田区",
"山田" , "東京都葛飾区",
"本田" , "愛知県名古屋市",
"遠藤" , "大阪府堺市");
print "---- 全て表示 --
\n";
while ( my ($key, $val) = each %address ) {
print "名前: $key 住所: $val
\n";
}
undef %address;
print "---- 全て表示 --
\n";
while ( my ($key, $val) = each %address ) {
print "名前: $key 住所: $val
\n";
}
#再設定
%address = ("鈴木" , "東京都千代田区",
"山田" , "東京都葛飾区",
"本田" , "愛知県名古屋市",
"遠藤" , "大阪府堺市");
print "---- 全て表示 --
\n";
while ( my ($key, $val) = each %address ) {
print "名前: $key 住所: $val
\n";
}
my %fruit = (red => "apple", yellow => "banana", purple => "grape");
delete $fruit{yellow};
# 残りの要素を全て展開
while ( my ($key, $val) = each %fruit ) {
print "$key : $val
\n";
}
print "------
\n";
my @fr_key = keys(%fruit); # ハッシュのキーのリスト
my $fr_no = keys(%fruit); # ハッシュの要素の個数
for (my $i = 0; $i < $fr_no; $i++){
print "色: $fr_key[$i] 名前: $fruit{$fr_key[$i]}
\n";
}
print "------------------
\n";
print "\n";
print "\n";