■ハッシュの簡略化

ハッシュの以下のように簡略表現ができる

#!/bin/perl

# ハッシュのスライス

# $score{"Make"} = 205;
# $score{"Jane"} = 102;
# $score{"Ken"} = 198;

# 上記は以下のように簡略化できる

# ($score{"Make"}, $score{"Jane"}, $score{"Ken"}) = (205, 102, 198);

# さらに以下のように簡略化できる

@score{"Make", "Jane", "Ken"} = (205, 102, 198);

while (($name, $score_data) = each(%score)) {
	print "$name:\t$score_data\n";
}
print "\n";

@name = qw(Make Jane Ken Shin Jon Cat);
@score_data = qw(205 102 198 200 120 1);
@score{ @name } = @score_data;

while (($name, $score_data) = each(%score)) {
	print "$name:\t$score_data\n";
}
print "\n";

実行結果

Jane: 102
Ken: 198
Make: 205

Jane: 102
Shin: 200
Jon: 120
Ken: 198
Make: 205
Cat: 1