#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @satz = qw(hans maria jochen maria bernd hans jochen maria hans); my (@gleich,%ungleich); my $counter = 1; for my $check( @satz ){ next if $ungleich{$check}; for my $i( $counter-1 .. $#satz ){ if( $check eq $satz[$i] ){ push @gleich, $satz[$i]; push @{$ungleich{$satz[$i]}},$i; } } ++$counter; } print Dumper(\@gleich,\%ungleich);