Alexander (HH): Getter/Setter

Beitrag lesen

Moin Moin!

Achja, nochwas zum Organisieren der Trenung von fetch* und Darstellung der Daten betrf. kleinerer Datenmengen im RAM, schöne Lösung mit einer Callbackfunktion:

  while( my $ref = $sth->fetchrow_arrayref){  
  	$self->{CBK}($ref);		  
  }  
  
Den dezenten kleinen Hinweis unter [DBI/fetchrow_arrayref](http://search.cpan.org/~timb/DBI-1.616/DBI.pm#fetchrow_arrayref) hast Du gelesen, der eigentlich mindestens fett gesetzt werden sollte?  
  
"Note that the same array reference is returned for each fetch, so don't store the reference and then use it after a later fetch. Also, the elements of the array are also reused for each row, so take care if you want to take a reference to an element."  
  
Damit kann man sich WUNDERSCHÖNE Bugs bauen. Zum Beispiel, indem Dein Callback erst einmal nur `push @todo,$ref`{:.language-perl} macht. So lange Du nur eine Zeile aus der DB ziehst, merkst Du das nicht einmal.  
  
Alexander

-- 
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".