sub unique1 { for ($i=$#_;$i>=0;$i--){ my @rest = @_; my $test = splice(@rest,$i,1); if (grep($_ eq $_[$i],@rest)){@_ = @rest}; } return @_; } sub unique2 { foreach $test (@_){ my $i = -1; @indexes = map {$i++;$_ eq $test ? $i : ()} @_; shift @indexes; foreach $index (@indexes){ splice(@_,$index,1); } } return @_; }