in reply to Re^3: Finding hashes in hashes of hashes
in thread Finding hashes in hashes of hashes

bobf is quite right: the statements
    my @args = @_;
    my $who = shift @args;
    my $families = shift @args;
are much better written as
    my ($who, $families) = @_;

Also,  $families in the above example seems to be a hash reference,
so use  %$families to dereference.

Further,
    for my $family (%$families) { ... }
won't do what you want; use
    for my $family (keys %$families) { ... }
to iterate over the keys of the referenced hash.