my @newrows = qw( value1 value2 ); my @printrows; my %newhash; push @{$newhash{ IP }}, @newrows; push @{$newhash{ IP }}, @newrows; @printrows = $newhash{ IP }; print $printrows[0][0], "\n"; # should be Value1? print $printrows[1][1], "\n"; # should be Value2? print "\n";