A clearer picture of the input data and desired output data would be helpful, e.g. use Data::Dumper; print Dumper(\%elohimHash); (possibly reduced to some small number of example datasets), since at the moment your post does not agree with itself ("%elohimHash{$folderId}{$customer}{$version}{points} = $totPoints;" vs. "$totSP = $elohimHash{$folderId}{$customer}{$version}{totSP};") As for the output, is @valueArray supposed to be filled per $customer, per $folderId, or across the entire input hash?
| [reply] [d/l] [select] |