my @words = ( # WortA: { map {$_ => 1} qw/haus tier garten/ }, # WortB: { map {$_ => 1} qw/straße auto reifen/ }, # WortC: { map {$_ => 1} qw/pc monitor tastatur maus/ }, ); my @sentence = qw/haus auto maus/; my $legal = 1; for my $i (0 .. $#sentence) { unless (exists $words[$i]->{$sentence[$i]}) { $legal = 0; last; } } print $legal ? "legal\n" : "illegal\n";