ich habe eine while-schleife die ca. 40 mal durchläuft, kann ich jetzt immer eine subroutine aufrufen oder wäre es besser den programmcode in die schleife zu schreiben, weil das prog sonst immer wieder die subroutine aufrufen muss.
Solche Gedanken brauchst du dir nur zu machen, wenn du auf assembler ebene absolut Zeit kritische Programme schreibst.
Der Zeitaufwand um eine funktion aufzurufen sollte heutzutage vernachlässigbar sein.
die subroutine wäre vorteilhaft weil ich sonst den quellcode der in der subroutine wäre zweimal ins prog schreiben müsste.
$sql = qq{select * from tabelle where h=1}; ### einmal mit suche
while(@asd = $sth->fetchrow_array) {
subroutin();
}#danach
$sql = qq{select * from tabelle}; ### und einmal ohne suche
while(@asd = $sth->fetchrow_array) {
subroutin();
}
Wobei ich mir nicht sicher bin ob man das nicht optimieren kann. Je nach dem was du in der Schleife machst, kann es durchaus sinnvoll nur das zweite Konstrukt zu verwenden und dort in der schleife die Bedingung abzufragen.
Das hängt aber auch von der Anzahl der daten ab.
Struppi.