Re: Perl, FreezeThaw und Hashes

Christian Boltz <suse-/[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Hallo Ferdinand, hallo Leute,

Am Samstag, 26. Februar 2005 23:38 schrieb Ferdinand Ihringer:
> Ich habe folgendes Problem, dessen Lösung bestimmt einfach ist. Von
> der Struktur ist es folgendes Perlskript:
> use FreezeThaw qw(cmpStr);

Das Modul habe ich gerade nicht vorrätig, deshalb die theoretische 
Analyse ;-)

[...]
> 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? 

Das return, das ja normalerweise zum Verlassen einer Subroutine o. ä. 
verwendet wird (siehe auch perldoc -f return), scheint zu verursachen, 
dass jeweils ein Schleifendurchlauf übersprungen wird.

Überleg Dir eine Lösung, die ohne das return in der Schleife auskommt, 
und es müsste funktionieren ;-)


Gruß

Christian Boltz
-- 
> man procmailex
Procmailex, ist das sowas wie Ameisen-Ex oder Fliegen-Ex?
Dann hätte ich gerne ein große Familienpackung.
[Thorsten Haude in suse-linux]

-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    suse-programming-unsubscribe-IBi9RG/[email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: suse-programming-help-IBi9RG/[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.