#!/usr/bin/perl use strict; use warnings; use vars qw( @a1 @a2 @a3 %cnt @help ); # diese arrays sollen verglichen werden @a1 = qw/ abc def 123 456 /; @a2 = qw/ abc 123 789 /; @a3 = qw/ def ghi 123 000 /; # hilfsarray, damit wir die arrays identifizieren koennen, # ohne dass wir sym.ref. benutzen muessen @help = ( [ @a1 ], [ @a2 ], [ @a3 ], ); # fuer jeden array for my $hh ( 0 .. $#help ) { # fuer jedes element eines array for my $aa ( 0 .. $#{$help[$hh]} ) { # das vorkommen eines elements erzeugt einen key # und als value dient ein Array, in dem der Index aus # @help abgelegt, in dem der string gefunden wurde $cnt{$help[$hh]->[$aa]} = [] unless ( exists($cnt{$help[$hh]->[$aa]}) ); push(@{$cnt{$help[$hh]->[$aa]}}, $hh); } } # fuer jeden key for ( keys %cnt ) { # gib aus, welches element in welchen arrays gefunden wurde print "'$_' found in: @{$cnt{$_}}", $/; }