初めてのPerl 第6章 ハッシュ 練習問題2

#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use 5.010;

my %names;

open (FILE, "<", "names.txt");


#ファイルから取得してきた値をハッシュに格納する。

foreach my $name(<FILE>){
  chomp($name);
  $name = lc($name);
  $names{$name} += 1;
}

# warn Dumper \%names;

while(my($key, $value)= each %names){
  printf ("%12s は%6s票です\n",$key,$value);
}

読み込んだファイルの内容は以下です。

柴犬
柴犬
ダックス
コーギー
シュナウザー
ビーグル
柴犬
ダックス
コーギー
マルチーズ
マルチーズ
チワワ
マルチーズ

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

    ビーグル は     1票です
    ダックス は     2票です
    コーギー は     2票です
      チワワ は     1票です
  マルチーズ は     3票です
        柴犬 は     3票です
シュナウザー は     1票です