!$history{$_}++ && splice(@history, $i--, 1); #### my %seen; @history = reverse grep { !$seen{$_}++ } reverse @history;