... my %site_2_dsk; foreach my $key ( sort keys %data_hash ) { my ($site, $dsk) = split /:/, $key; push @{ $output_hash{$dsk} }, $site; push @{ $site_2_dsk{$site} }, $dsk; } ...