Vorschlag: Kombiniere map und grep:
my @in = ('1;foo', '2;bar', '3;baz', '4;foo', '0;baz;2');
my %saw;
my @out = grep(!$saw{$}++, map((split(';', $))[1], @in));
>
> Lediglich die Indexnummer deines split musst du noch an deine Bedürfnisse anpassen.
>
> Siechfred
ok, map ersetzt schleife uns splittet @in in jeweils [1]. das (! ausrufezeichen) versteh ich nicht, heisst das wenn nicht ? grep extrahiert wert und füllt nach %saw den wert als name ? ich hab da irgendwo eine verständnislücke :(
gustl