use strict; use warnings; use Data::Dumper; my @maxval = 0 .. 4; my %imolecule = ( 'maxval' => [@maxval], 'peers' => '0', ); my @allmolecules; push @allmolecules, %imolecule; print Dumper(\@allmolecules); __END__ $VAR1 = [ 'maxval', [ 0, 1, 2, 3, 4 ], 'peers', '0' ];