Thread Mehrere IxHash übergeben
(2 answers)
Opened by Kean at 2012-06-08 11:14
Bei Über- und Rückgabe an/aus Subroutinen werden Hashes zu flachen Listen. Wenn Du zwei Hashes zurückgibst, werden die beiden zu einer Liste und es ist nicht ersichtlich, wo die Grenze zwischen beiden Hashes sein soll.
Du musst in diesem Fall mit Referenzen arbeiten. edit: +möglicher Code (ungetestest) Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #! /usr/bin/perl use strict; use warnings; use Tie::IxHash; tie my %hash1, 'Tie::IxHash'; tie my %hash2, 'Tie::IxHash'; fill_hashes( \%hash1, \%hash2 ); sub fill_hashes() { my $hRef1 = shift; my $hRef2 = shift; $hRef1->{Feld1} = 'Wert1'; $hRef2->{Feld2} = 'Wert2'; # return sparen wir uns, weil wir via Referenz direkt mit den Hashes gearbeitet haben } edit2: code fixed: Aufruf fill_hashes(); zweiter hash als referenz... Last edited: 2012-06-08 13:05:25 +0200 (CEST) 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! |