Thread suchen und vergleichen
(124 answers)
Opened by Kathrin at 2004-12-16 16:21
Ein paar Anmerkungen, wie ich das schreiben wuerde:
Die sub main wuerde ich rauskicken und den Inhalt derselben zum Hauptprogramm machen (vorausgesetzt, du rufst &main() nirgendwo anders auf): 1. sieht so C-aehnlich aus 2. verwendet variablen, die ausserhalb der subroutine deklariert wurden und nicht als parameter uebergeben wurden Code: (dl
)
1 while (my @row = $sth_suchen->fetchrow_array()) wuerde ich mit ->fetchrow_hashref schreiben, weil du eh eine Hashreferenz haben willst, und da die Umwandlung von array -> hashref unnoetig ist: Code (perl): (dl
)
1 2 3 4 while (my $data = $sth_suchen->fetchrow_hashref()) { # hashslice der felder @order, und {} aussen herum -> hashreferenz push (@daten, { @hash{@order} } ); } da ist der hashslice nicht schoen, also besser noch, beim select die felder angeben (ist i.d.R. vom SQL her schneller, weil da 1. nicht alle feldnamen ermittelt und 2. nicht alle felder zurueckgegeben werden muessen), die du haben willst, dann sparst du dir das @order und den hashslice, und kannst gleich schreiben Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 my $statement_suchen = qq~SELECT identnr, langtyp, doctyp, docname, head, langtxt, datum, ersteller, werk, check1, check2, check3, check4, FROM tbl0011990 WHERE ident_nr = '$identnr' ORDER BY docname~; # ... prepare und execute my @data = (); while (my $data = $sth_suchen->fetchrow_hashref()) { push (@daten, $data); } perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |