in reply to Problem cycling through top level of nested hashes

Use keys (or values, in case you don't need to know which keys the hasrefs are associated with):

foreach my $lig (keys %{$ligHash}) { DoDump($ligHash->{$lig}); }

(not using keys/values will simply flatten the hash, so you get all its elements, i.e. alternating keys and values)