$ perl pm_1195995.pl #!/usr/bin/perl use strict; use warnings; use Data::Dump 'pp'; my %hierhash; my @feld; my @hashfeld; my $wert; @hashfeld = (); %hierhash = &dofn(0,5,1); print "1 $hierhash{'var2'}[3] \n"; push(@hashfeld, { %hierhash }); %hierhash = &dofn(0,5,2); print "2 $hierhash{'var2'}[3] \n"; push(@hashfeld, { %hierhash }); $wert = $hashfeld[0]->{'var2'}[3]; print "$wert \n"; print pp(\@hashfeld), "\n\n"; sub dofn () { my ($i, $ivon, $ibis, $imal); my %hashfn; $ivon = $_[0]; $ibis = $_[1]; $imal = $_[2]; for ($i = $ivon; $i < $ibis; $i++) { push(@{$hashfn{'var1'}}, $i*$imal); push(@{$hashfn{'var2'}}, $i*$imal*10.); push(@{$hashfn{'var3'}}, $i*$imal*20.); } return %hashfn; } $ perl pm_1195995.pl 1 30 2 60 30 [ { var1 => [0 .. 4], var2 => [0, 10, 20, 30, 40], var3 => [0, 20, 40, 60, 80], }, { var1 => [0, 2, 4, 6, 8], var2 => [0, 20, 40, 60, 80], var3 => [0, 40, 80, 120, 160], }, ]