#!/usr/bin/perl use strict; use warnings; # Die Wörter mit ihrer zulässigen Position my %wort = ( 'haus' => 1 , 'tier' => 1 , 'garten' => 1 , 'straße' => 2 , 'auto' => 2 , 'reifen' => 2 , 'pc' => 3 , 'monitor' => 3 , 'tastatur' => 3 , 'maus' => 3 ); # Beispieleingaben my @test = ( 'haus reifen maus' , 'auto tier maus' , 'garten pc' ); TEST: for (@test) { my @input = split / /, $_; my $lastval = 0; for (@input) { # Wenn Lücken erlaubt sind (s.o. drittes Beispiel) if ($wort{$_} and $wort{$_} > $lastval) { # Wenn keine Lücken erlaubt sind (s.o. drittes Beispiel) #if ($wort{$_} and $wort{$_}-$lastval==1) { $lastval = $wort{$_}; next; } else { print "Falsche Reihenfolge: @input\n"; next TEST; } } print "Richtige Reihenfolge: @input\n" }