my %data; $data{A} = [qw(a data goes here)]; $data{B} = [qw(b data here too)]; $data{C} = [qw(and here is c data)]; #### my %seen_in; for my $key (sort keys %data) { for my $value (values %{$data{$key}}) { $seen_in{$value} .= $key; } }