#!/usr/bin/perl use warnings; use strict; use Data::Dumper; my @data=({}); my %work_request = ( "DR"=>[0,0,0,0,0], "SAT ITAMS"=>[0,0,0,0,0], "PROD ITAMS"=>[0,0,0,0,0] ); #push @data, [ %work_request ]; push @data, \%work_request; $work_request{DR} = [1,2,3,4]; #push @data, [ %work_request ]; push @data, \%work_request; print Dumper( @data );