$ cat pm_1195995.pl #!/usr/bin/perl use strict; use warnings; use Data::Dump 'pp'; my @hashfeld = (); push @hashfeld, dofn(0,5,1); print "1 $hashfeld[0]{var2}[3]\n"; push @hashfeld, dofn(0,5,2); print "2 $hashfeld[1]{var2}[3]\n"; my $wert = $hashfeld[0]->{'var2'}[3]; print "$wert \n"; print pp(\@hashfeld), "\n\n"; sub dofn { my ($ivon, $ibis, $imal) = @_; my $hashfn; for (my $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], }, ]