#!/usr/local/bin/perl use strict; use warnings; my %hash; my @array_keys; my @keys = qw(xx yy zz); @hash{@keys}=([{'key1'=>1}],[{'key2'=>2}],[{'key3'=>3}]); #hash slice @array_keys = keys %hash; print "@array_keys\n"; push @{$hash{'aa'}},{'key4'=>4}; #add another key @array_keys = keys %hash; #update the array print "@array_keys\n";