use Date::Manip; sub render_events { my $events = shift; my $out = ''; my %events = @{$events}; foreach my $day (keys %events) { $out .= "$day: "; my $stuff = $events{$day}; my %stuff = @{$stuff}; foreach my $event (keys %stuff) { $out .= " $event;"; } } return $out; } my $at = "2000-02-01"; my $events = Events_List($at); my $e = render_events($events); print "schedule for: $at - " . UnixDate($at, "%Y %B %E (%a), %H:%M") . "\nEvents: $e";