# Iterate over all sets for my $set1_k (keys %matrix) { # Iterate over points in this set for my $point1_k (keys %{$matrix{$set1_k}}) { # Iterate over sets this point's entry refers to for my $set2_k (keys %{ $matrix{$set1_k} ->{$point1_k} }) { my $filename = join("", $set1_k, "v", $set2_k, ".xls"); # TODO: Create the Excell file. # Iterate over points in that set for my $point2_k (keys %{ $matrix{$set1_k} ->{$point1_k} ->{$set2_k} }) { # TODO: Populate the Excell file # The data that you'd want to write to the Excell # file is accessable under # $matrix{$set1_k}->{$point1_k}->{$set2_k}->{$point2_k} # in this loop. } # TODO: if necessary (check module docs): close Excell file } } }