Hier eine weitere Routine, um doppelte Einträge in einem Perl Array zu löschen. Die ursprüngliche Reihenfolge bleibt dabei erhalten.
Wie man sieht, werden immer die Hashwerte der Einträge zum Vergleich herangezogen.
[highlight=perl]sub ClearArrayDoubles{
my (@old) = @_;
foreach my $item(@old){
push(@array, $item);
}
my %hash;
my @new = grep { !$hash{$_}++ } @array;
return (@new);
}[/highlight]