use strict; my @original = qw/1 3 2 4/; my @kopie = qw/3 2 1 4 2 3 2 1 4/; my @gemeinsam = vergleiche_array(\@original,\@kopie); print "Element $_ ($original[$_]) in original am pos " . join(" & ",@{$gemeinsam[$_]}) . " gefunden\n" for 0..$#gemeinsam; sub vergleiche_array ($$) { my $original = shift; my $kopie = shift; my @auswertung; for my $v (0..$#$original) { push @auswertung,[grep($$original[$v]==$$kopie[$_],(0..$#$kopie))]; } return @auswertung; } _ _ END _ _ Element 0 (1) in original am pos 2 & 7 gefunden Element 1 (3) in original am pos 0 & 5 gefunden Element 2 (2) in original am pos 1 & 4 & 6 gefunden Element 3 (4) in original am pos 3 & 8 gefunden