in reply to Re^4: printing data structure
in thread printing data structure

hash → key: given name, value: somearray
somearray → reference to array of families
family → reference to array of given names

Not sure how you want it printed.

use warnings; use strict; my %data; foreach my $string ( 'flinstones,fred,barney,willma,betty', 'flinstones,dino', 'doe,joe,jane', ) { my @family = split(/\s*,\s*/, $string); my $surname = shift @family; push @{$data{$surname}}, [ @family ]; } # use Data::Dumper; # print Dumper(\%data); foreach my $surname (keys %data) { my $somearray = $data{$surname}; foreach my $family (@$somearray) { foreach my $given (@$family) { print("$given $surname\n"); } print("--", "\n"); } }

outputs

joe doe jane doe -- fred flinstones barney flinstones willma flinstones betty flinstones -- dino flinstones --