Hallo, Ich habe folgendes Problem, dessen Lösung bestimmt einfach ist. Von der Struktur ist es folgendes Perlskript: use FreezeThaw qw(cmpStr); my $struktur = INPUT1; my %alphabet = INPUT2; while(my ($a, $b) = each %alphabet) { #Variante 1 if (strCmp($struktur, $b) == 0) { print "Gefunden $a\n" }; #Variante 2 if(strCmp($struktur, $b) == 0) { print "Gefunden $a\n"; return $a" } } Bei meinem Test wird dies als Subroutine fünfmal in einer Schleife aufgerufen und es sollte 'hallo' gefunden werden. Bei Variante 1 kommt das auch: Gefunden: h Gefunden: a Gefunden: l Gefunden: l Gefunden: o Bei Variante 2 hingegen nicht: Gefunden: h Gefunden: l Gefunden: o Muss ich das verstehen? Oder hat irgendwer eine Idee, woran dies liegen könnte und wo ich zu suchen haben? Gerade wundert mich das nur. Ich verändere ja den Hash nicht. perl --version This is perl, v5.8.5 built for i686-linux Ferdinand