- or download this
for ($#history .. 0) {
my $temp = pop @history;
next if exists $history{ $temp };
$history{ $temp } ++;
unshift @history;
}
- or download this
my %seen;
for (1 .. @history) {
my $item = pop @history;
unshift @history, $item unless $seen{$item}++;
}
- or download this
my %seen;
for (1 .. @history) {
unshift @history, $seen{$history[-1]}++ ? $#history-- && () : pop
+@history;
}