コードを舐める日々

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

配列、ハッシュ(連想配列)、2次元ハッシュについて

Perlではいろんな書き方があるのでここだけ参考しないでください。

配列

# 配列変数宣言
my @list;

# 配列に値を格納
@list = ('makotoworld','mala');

# 配列の中身を出力
foreach( @list ){
    say $_;
}

ハッシュ

# ハッシュ変数宣言
my %hash;
# ハッシュに値を格納
$hash{'makotoworld'} = 'orz';
$hash{'mala'} = 'livedoor';
# もしくは
%hash = ('makotoworld' => 'orz', 'mala' => 'livedoor');
# ハッシュの中身を出力
foreach( keys %hash ){
    say 'username:' . $_;
    say 'office:' . $hash{$_};
}

2次元ハッシュ

my %hash;
# 2次元ハッシュに値を格納
$hash{'mala'}{'livedoor'} = 'perl';
$hash{'makotowrold'}{'orz'} = 'perl';
# もしくは
%hash = ('mala' => {'livedoor' => 'perl'},
         'makotoworld' => {'orz' => 'perl'}
);
# 2次元ハッシュの中身を出力
foreach my $list( keys %hash ){
    foreach( keys %{ $hash { $list } } ){
        say 'username:' . $list;
        say 'office:' . $_;
        say 'programing:' . $hash{$list}->{$_};
    }
}