コードを舐める日々

わからないことがわからないことをしる日々

連想配列だとどう書く件

Perlだと連想配列でなく「ハッシュ」という。
Perlでハッシュを定義する場合、変数の前に%をおく。
%name とか。

#!/usr/bin/perl;

use strict;
use warnings;

my %programs = (
   "Perl" => "Hatena",
   "Ruby" => "Rakuten",
   "PHP" => "Yahoo!"
);

while (my ($key, $val) = each(%programs)){
   print ("$val の主要言語は、$key です?\n");
}
<?php
$programs = array(
   "Perl" => "Hatena",
   "Ruby" => "Rakuten",
   "PHP" => "Yahoo!"
);

while(list ($key, $val) = each($programs)) {
   print ("$val の主要言語は、$key です?<br />\n");
}
?>
    • 追記 5/22 23:12

その昔、ハッシュは「連想配列」(associative array)と呼ばれていました。しかし、1995年ごろに、タイプするにも文字数が多すぎるし、発音するにも長すぎるという意見がPerlコミュニティで大勢を締めたために、「ハッシュ」という名前に変更されました。
「初めてのPerl」より転載