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 ""; for (my $month=1;$month<=12;$month++) { print "\n"; for my $day (sort {$a<=>$b} keys %{$mdays{$month}}) { print ""; } print ""; print "\n"; }
$months{$month}
$day
"; for my $monk (@{$mdays{$month}->{$day}}) { print "$monk
"; } print "