Thread Gehirnverknotung dank Hashes
(12 answers)
Opened by Basti at 2012-09-07 16:13
Hi,
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 sub einlesen { $count = 0; $db->Sql("select * from customers"); while ($db->FetchRow()) { $customer{'customerId'} = $db->Data("kundennummer"); $customer{'street'} = $db->Data("strasse"); $customer{'streetNumber'} = $db->Data("hausnummer"); $customer{'city'} = $db->Data("ort $allCustomers{$count} = \%Customer; ## Linuxer "ddv" removed from \%ddvCustomer $count++; } return %allCustomers; } Wo wird der Hash %customer deklariert. Wenn das ein globaler Hash ist, dann überschreibst Du ihn immer wieder und legst eine Referenz darauf unter $count in %allCustomers ab... Besser wäre es innerhalb der While-Schleife ein Hash neu zu deklarieren, z.B.: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 sub einlesen { # no global $count my $count = 0; $db->Sql("select * from customers"); while ($db->FetchRow()) { # new hash for each Row my %customer = ( 'customerId' => $db->Data("kundennummer"), 'street' => $db->Data("strasse"), 'streetNumber' => $db->Data("hausnummer"), 'city' => $db->Data("ort}, ); $allCustomers{$count++} = \%Customer; ## Linuxer "ddv" removed from \%ddvCustomer } return %allCustomers; } meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |