use Data:Dumper; ... while (my $event = $sth->fetchrow_hashref()) { push @recordset, $event; }; $sth->finish; for (my $i=0; $i<@recordset; $i++) { if ($recordset[$i]->{DIRECTION} eq "exit") { for (my $j=$i+1; $j<@recordset; $j++) { if ($recordset[$i]->{OCR} == $recordset[$j]->{OCR}) { undef $recordset[$j]; } } undef $recordset[$i]; } } for my $row ( @recordset ) { print Dumper($row) . "\n" if defined $row; }