for ( @$ref ) { $$_[1] =~ s/V|v//g; $$_[2] =~ s/V|v//g; $myhash{$$_[0]}{$$_[1]} ||= []; push (@{$myhash{$$_[0]}{$$_[1]}}, $$_[2]); } foreach my $project ( sort keys %myhash ) { foreach my $rel ( $myhash{$project}) { . . . } }