se strict; use warnings; my %months; my @m = qw (Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); for (0..11) { $months{$_+1} = $m[$_]; } my $file; open ($file,"<","md.txt") or die "shan't! $!\n"; my %mdays; my ($month,$day); while (<$file>) { chomp $_; if ($_ =~ /(\d{2})-(\d{2})/) { $month = $1; $day = $2; $month +=0; $day +=0; # make sure these scalars are properly numeric } elsif ($_ eq "") { next } else { push @{$mdays{$month}->{$day}},$_; } } #use Data::Dump::Streamer; #my $dump = Data::Dump::Streamer->new(); #$dump->Dump(%mdays)->Out(); print "
| $months{$month} |
| $day "; for my $monk (@{$mdays{$month}->{$day}}) { print "$monk "; } print " | ";
}
print "