Thread Mehrere IxHash übergeben (2 answers)
Opened by Kean at 2012-06-08 11:14

Linuxer
 2012-06-08 11:20
#158841 #158841
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
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!

View full thread Mehrere IxHash übergeben