... while () { my $line=$_; (my $day,$month,$year,$hour,$minute) = ( $line =~ /^.*\[(\d*)\/(.*)\/(\d*):(\d*):(\d*).*$/); ++$topHash{$year}{$month}{$day}{$hour}{$minute}; } close(FILE);