#!/usr/bin/perl -w use strict; my @configs; my $path = "/some-path"; my @clusterDirList = ("$path/cluster1", "$path/cluster2", "$path/cluster3"); my %hash = ( 'remap.config' => 'remap.config.hosts:user|SApre-push.pl|NA', 'origin.db' => 'origin.db.hosts:user|SApre-push.pl|NA', 'local_cluster.db' => :user|SApre-push.pl|NA' ); my %HoL = ( 'cluster1' => [ 'remap.config', 'remap.config.hosts', 'origin.db', 'origin.db.hosts', 'local_cluster.db', 'local_cluster.hosts ] ); foreach my $key(keys %hash) { push @configs, $key; } foreach my $cluster (@clusterDirList) { foreach my $configfile (@configs) { push @{ $HoL{$cluster} } , $configfile; } }