my %hash = expand_keys( ['key1', 'key2', 'key3'] => 'Value for key1, key2, and key3', [qw( key4 key5 key6) ] => 'Value for key4, key5, key6', 'simple key' => 'Value for simple key' ); #### sub expand_keys { my @result; while(@_) { my $key = shift; my $value = shift; if(ref $key) { push @result, $_, $value foreach @$key; } else { push @result, $key, $value; } } return @result; }