Thread Hashes in Array (4 answers)
Opened by Moritz at 2013-01-09 17:27

topeg
 2013-01-09 17:48
#164824 #164824
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Du erzeugst eine Referenz auf einen Hash. Wenn du den Wert ausgibst der Im Array steht, bekommst du die interne "Verwaltungsnummer". Um den Inhalt des Hashes zu bekommen, musst du Diesen auch auslesen:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl
use strict;
use warnings;

my @array;
my %hash = ( a => 1, b => 2, c => 3, d => 4 );
$array[0] = \%hash;
$array[1] = \%hash;
$array[2] = \%hash;

my $cnt=0;
for my $hash_ref (@array)
{
  print "POS: ",$cnt++,"\n";
  next unless( $hash_ref );
  while( my ( $key, $value ) = each( %$hash_ref ) )
  { print "    $key = $value\n"; }
}


Es gibt mehrere Möglichkeiten Werte aus Hashes und Hash-Referenzen auszulesen. perldoc perlref hilft dir da weiter.

View full thread Hashes in Array