Thread Hash kopieren
(9 answers)
Opened by Jiep1963 at 2015-12-14 12:56
Erstens: da brauchst du gar nicht zu diskutieren, viele globale Variablen sind immer schlecht. Eine Referenz zu übergeben kostet praktisch nichts. So viel Performacevorteile kannst du gar nicht gewinnen, die nicht durch Entwicklungszeit wieder verlorengehen (Größenordnungen!). Niemand hat gesagt, dass du große unveränderliche Objekte kopieren sollst.
Zurück zum Problem: du wirst irgendwo was falsch gemacht haben. Hier ein kleines Testprogramm inkl Ausgabe (das verhält sich wie gewünscht, kein Problem mit Löschen): Programm: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 use strict; use warnings; use Data::Dumper; dbmopen(my %h_FileMd5Sum_PerlDB, "test.dbm", 0660 ); print "Aktuell drin:\n"; print Dumper \%h_FileMd5Sum_PerlDB; if ($ARGV[0] && $ARGV[0] eq 'clean') { print "Leere Hash.\n"; %h_FileMd5Sum_PerlDB = (); } else { print "Fuege Wert hinzu.\n"; $h_FileMd5Sum_PerlDB{rand()} = rand(); } dbmclose %h_FileMd5Sum_PerlDB; Ausgabe: Code: (dl
)
1 [17:19:18] ~/test$ perl dbm1.pl |