#!/usr/bin/env perl -l use strict; use warnings; my @counts; while () { my @dates = map { substr $_, 0, 8 } (split /;/)[1, 2]; ++$counts[$_]{$dates[$_]} for (0, 1); } for (qw{20110327 20140211 20140220}) { print "Search date: $_"; print 'date1: ', $counts[0]{$_} || 0; print 'date2: ', $counts[1]{$_} || 0; } __DATA__ 13645722;20110327203202.0Z;20140211204731.0Z 14947374;20110327203202.0Z;20140220135320.0Z 15962660;20110327203156.0Z;20131106113716.0Z 17480884;20110327212821.0Z;20131211143804.0Z 13054554;20110327203141.0Z;20131205162959.0Z #### Search date: 20110327 date1: 5 date2: 0 Search date: 20140211 date1: 0 date2: 1 Search date: 20140220 date1: 0 date2: 1