Perlを使う2 〜 基本(続編)

目的はPerlを学ぶことではないが、途中過程として必要なので、基本の続き。。。


◎Hash変数

#Hash
%hashVal= ("key1" => "value1", "key2" => "value2");
print "\n";
print "$hashVal{'key1'}\n";

全てのキーと値を取得(順不同)

#Hash
%hashVal = ("key1" => "value1", "key2" => "value2");
#$fruit{"red"} = "apple";
print "\n";
print "$hashVal{'key1'}\n";

@keysArray = keys %hashVal; #すべてのキーを取得 
#print keys %hashVal;
print "@keysArray\n";

@valsArray = values %hashVal;
print "@valsArray\n";

Keyとvalueのセットを取り出す。

while(my ($key, $val) = each %hashVal ){
 print "$key : $val\n";
}

順不同・・・。

◎ハッシュの各要素にアクセスする

#ハッシュスライス
%hashVal = ("key1" => "value1", "key2" => "value2");
@hashVal{ qw(key1 key2)} = ("valueUpdate1", "valueUpdate2");
while( my ($key, $val) = each %hashVal){
 print "$key : $val\n";
}

◎順不同なハッシュを順番通りにする
Tie::IxHashモジュールを利用する。

◎foreach文

foreach $i (1,2,3){
 print "カウントダウン :$i \n";
}

次のように書いたら動かない。。。

@array = (1,2,3);
foreach $i @array{
 print "カウントダウン :$i \n";
}