Hilker: merkwürdiges Problem mit if Klausel

Beitrag lesen

Hallo Forum'ler,

im Moment nervt mich, wie schon im Titel beschrieben, eine if Bedingung, die nicht so "möchte" wie ich...
Zunächst schreibe ich ein Datenbankresultat in ein Array of Hashes => @query.
So kann ich mittels $query[$row]{Spaltenname} fein auf das Resultat der Datenmenge zurückgreifen.

ich tue das in diesem Fall mit einer for schleife siehe beispiel:

  
my $i=0;  
for (@query)  
 {  
 if (($$_{lg} != $query[$i-1]{lg}) || ($$_{bg} != $query[$i-1]{bg}))  
  {  
  ### weitere perl anweisungen  
  }  
 elsif ($$_{plz} != $query[($i-1)]{plz})  
  {  
  ### weitere perl anweisungen  
  }  
 .  
 .  
 .  
 ### weitere perl anweisungen  
 .  
 .  
 .  
 if (($$_{lg} != $query[$i+1]{lg}) || ($$_{bg} != $query[$i+1]{bg}))  
  {  
  ### weitere perl anweisungen  
  }  
 else  
  {  
  ### weitere perl anweisungen  
  }  
 $i++;  
 }  

Im obigen Beispiel finden sich zwei ganz ähnliche if Bedingungen, die ganz letzte im code macht mir zu schaffen:
Formuliere ich sie wie im Beispiel, kommt keine ausgabe im Browser zustande... Perl scheint in so etwas wie eine Endlosschleife zu geraten, auch nach langem Warten tut sich keine ausgabe, oder der Browser verweigert ganz und gar seien Dienst...

schreibe ich aber nun anstelle von:
"if (($$_{lg} != $query[$i+1]{lg}) || ($$_{bg} != $query[$i+1]{bg}))", "if (($$_{lg} != $query[$i-1]{lg}) || ($$_{bg} != $query[$i+1]{bg}))" das hier, und rufe das Script über den Browser auf, kommt innerhalb von Bruchteilen von Sekunden die Seite, allerdings falsch zusammengebaut, da die if Bedingung ja geändert ist.

Also WARUM macht dieses eine + bzw. - das ganze script zunichte?
Hat jemand eine Idee dazu? Also mir fällt nichts mehr ein :-(

mfG der Hilker