my @liste; # ... while( my @line=lese_zeilen_von_irgendwo() ) { my $zeilendaten=join(',',@zeile); push(@liste,[@zeile]; # oder: # push(@liste,\@zeile; } # ... # nun wollen wir nur die Zeilen, die einzigartig sind my %uniqe=(); # durchlaufe das Array rückwärts for my $cnt (reverse (0..$#liste)) { # ein String generieren der "eindeutig" ist my $line=join(',',@{$liste[$cnt]}); # entferne die Zeile aus dem Array wenn sie schon einmal gefunden wurde splice(@liste, $cnt,1) if($uniqe{$line}); # setze diese Zeile als gefunden; $uniqe{$line}++; } for(@liste) { print join(', ',@$_)."\n"; }