my $pname; my @booked; my $daysb; my @yeara; my @yearb; foreach my $item (@intersect) { my ($year,$month,$day) = Add_Delta_Days(1,1,1, $item - 1); if ($year == $y) { push (@yeara, $item); } elsif ( $year == ($y + 1) ) { push (@yearb, $item); } else { print 'Sorry, the search period is too long - please go back and try again'; exit; } } my %seen = (); my %cmyears; my %cmmonths; my @months_in_year = (); my @days_in_month = (); my %cmdays; my %yeara = (); @yeara = sort (@yeara); foreach my $item (@yeara) { my ($year,$month,$day) = Add_Delta_Days(1,1,1, $item - 1); $cmmonths{$item} = $month; push (@months_in_year, $month); } while ( my ($key, $value) = each (%cmmonths) ) { foreach my $item (@months_in_year) { if ($item == $value) { my ($year,$month,$day) = Add_Delta_Days(1,1,1, $key - 1); push (@days_in_month, $day); } } $cmdays{$key} = \@days_in_month; }