Perl ハッシュとオートインクリメント | でばぐめ -IT技術メモ-

でばぐめ -IT技術メモ-

主にハードウェア/ソフトウェアのプログラミングに関するブログです。


Perlではオートインクリメント演算子(++)を用いて、Cのインクリメント演算子と同じように
スカラー演算子に1を加えます。

変数名の前に++演算子を置いたプリインクリメントの場合、まず変数に1を加えてから、その値を
取り出します。

my $a = 5;
my $b = ++$a; # $aに1を足した後、$bに代入する ($a=6, $b=6)


変数名の後ろに++演算子を置いたポストインクリメントの場合、まず変数の値を取り出してから、
次に変数に1を加えます。

my $a = 5;
my $b = $a++; # $aを$bに代入してから、$aに1を足す ($a=6, $b=5)


ハッシュとオートインクリメント演算子を用いて、リスト内の値の出現回数をカウントできます。

my @words = qw(a b a d d d c);
my %hash = ();

foreach (@words) {
$hash{$_}++;
}

foreach (sort keys %hash) {
print "$_ => $hash{$_}\n";
}


結果は下のようになります。

a => 2
b => 1
c => 1
d => 3


関連書籍

初めてのPerl 第5版/Randal L. Schwartz

¥3,780
Amazon.co.jp

初心者にもわかりやすく書かれていますが、
全くの初心者というより、少しPerlに慣れてきた時に威力を発揮する本です。
簡単なテキスト操作のためにPerlを使用するのであれば十分事足ると思います。

プログラミングPerl〈VOLUME1〉/ラリー ウォール

¥5,565
Amazon.co.jp

ページ数も多く、価格もそれなりなので、Perlについて詳しく知りたい人向けです。
"初めてのPerl"と重複する箇所も多々あるので、これからがっちりPerlを身につけたい人は
こちらをおすすめします。