ハッシュと正規表現、ループの練習〜ある一日のapachログを10分ごと、30分ごとにカウントしよう

準備物は、ある一日のapacheのログが書かれたファイルです。
そして、いきなり回答です。

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

my %count10; #10分ごとのカウント
my %count30; #30分ごとのカウント
open(FH,'<access'); # accessはログのファイル
while(my $data = <FH>){
    chop($data);
    my ($h, $m1, $m2, $s) = ($data =~ /\d{4}:(\d{2}):(\d)(\d):(\d{2})/);
    $count10{"$h:${m1}0:00_$h:${m1}9:59"}++;
    $count30{"$h:00:00_$h:29:59"}++ if 0 <= $m1 && $m1 <= 2;
    $count30{"$h:30:00_$h:59:59"}++ if 3 <= $m1 && $m1 <= 5;
}
close (FH);

print Dumper \%count10;
print Dumper \%count30;