+# https://github.com/perl-entrance-org/workshop-2018/blob/master/4th/practice.md
+# food.pl では, 上記のように, $data に人物名と好きな食べ物を (スペース):(スペース) 区切りで与えています.
+# この変数から食べ物が何回出現したかカウントして表示させてください.
+# はじめに $data を改行ごとに split するとよいでしょう
+# 分割後, 正規表現により必要な文字列を抽出してください
+# 食べ物の名前と出現回数を入れるハッシュを用意する
+# splitした結果を配列 @name_food に格納
+my @name_food = split /\n/, $data;
+for my $line (@name_food) {
+ # 今回の問題文で求めるのは食べ物の出現回数なので、
+ # 名前の部分に関しては「後方参照しない」正規表現、
+ # 食べ物に関しては「後方参照する」普通の正規表現
+ $line =~ /(?:\w+) : (\w+)/;
+ # 正規表現で$1が取得できなかった行(空行など)を
+ # ハッシュfoodのkeyに食べ物、valueに+1する
+for my $food ( sort { $food_hash{$b} <=> $food_hash{$a} } keys %food_hash ) {
+ print "$food : $food_hash{$food}\n";