my @spalte1; my @spalte2; #... my @spalteN; unique( \@spalte1, \@spalte2, ... \@spalteN ); sub unique { my( @cols ) = @_; my %u; for my $i ( reverse 0 .. $#{ $cols[0] } ) { if ( $u{ join( $;, map { $_->[$i] } @cols ) }++ ) { splice( @$_, $i, 1 ) for @cols; } # if } # for } # unique