use Data::Dumper; my $aref = [1, 6, 2, 2, 7, 1, 6, 99, 99, 7]; my @new = (); my $flag = 0; for (@$aref) { $flag = 1 if (!$flag and $_==6); push @new, $_ if !$flag; $flag = 0 if ($flag and $_==7); } $aref = \@new; print Dumper $aref;