If your not choosy which duplicates get deleted (or rather which remain), you could try something like this.
Effectively a variation on the standard idiom used for weeding duplicates from an array, it creates another hash from the values of the second level hashes and uses that to determine if a duplicate has been seen yet.
my %seen; for my $key (keys %students) { my $value_key = "@{[values %{$students{$key}}]}"; if (exists $seen{$value_key}) { delete $students{$key}; } else { $seen{$value_key}++; } } undef %seen;
Okay you lot, get your wings on the left, halos on the right. It's one size fits all, and "No!", you can't have a different color.
Pick up your cloud down the end and "Yes" if you get allocated a grey one they are a bit damp under foot, but someone has to get them.
Get used to the wings fast cos its an 8 hour day...unless the Govenor calls for a cyclone or hurricane, in which case 16 hour shifts are mandatory.
Just be grateful that you arrived just as the tornado season finished. Them buggers are real work.
In reply to Re: delete duplicate hash value's
by BrowserUk
in thread delete duplicate hash value's
by juo
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |