my $last_date; for my $row (@rows) { if ($row->{start_date} ne $last_date) { print "$row->{start_date}\n"; $last_date = $row->{start_date}; } printf "%8s %8s", $row->{id_number}, $row->{start_time}; }