use strict; use diagnostics; use locale; my %lexikon = ( 'hell' => 'ADJA', 'blau' => 'ADJA', 'hellblau' => 'ADJA', 'Tisch' => 'NN', 'Decke' => 'NN', 'Tischdecke' => 'NN' [...] ); foreach my $wortteil_1 (keys %lexikon) { foreach my $wortteil_2 (keys %lexikon) { if (exists $lexikon{$wortteil_1.$wortteil_2}) { if ($lexikon{$wortteil_1} eq "ADJA" && $lexikon{$wortteil_2} eq "ADJA" && $lexikon{$wortteil_1.$wortteil_2} eq "ADJA") { print $wortteil_1.$wortteil_2 . "\t" . $lexikon{$wortteil_1.$wortteil_2} . "\t\t" . $wortteil_1 . "\t" . $lexikon{$wortteil_1} . "\t\t" . $wortteil_2 . "\t" . $lexikon{$wortteil_2} . "\n"; } } } }