Jasmin: Doppelte Listeneinträge entfernen

Beitrag lesen

Hallo Struppi,

my %saw;

grep  !$saw{( split/;/,$_)[2]}++  , @in;
my @out = keys %saw;
print join "\n", @out;

Anschaulicher finde ich diese (ähnliche) Möglichkeit:  
  
~~~perl
sub unique {  
 my %saw;  
 map { $saw{(split /;/)[2]} = 0 } @_;  
 return( keys %saw );  
}

Eine Aufzählung wie oft ein Element vorkommt ist nicht notwendig. Außerdem ist die Unterscheidung mit grep zw. im Hash bereits gesetzen und noch nicht gesetzen Werten überflüssig.

Jasmin