Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: Find duplicate values in hash

by Nkuvu (Priest)
on Apr 10, 2009 at 17:22 UTC ( #756884=note: print w/ replies, xml ) Need Help??

in reply to Find duplicate values in hash

I'd be keeping track of the keys when you're assigning to the definition hash. That is, keep a separate hash with duplicate keys. There is probably a more efficient way to do this, but some random puttering around while I'm waiting for my work script to finish:

#!/usr/bin/perl use strict; use warnings; my (%hash, %dup_hash); # Minor tweak to read from DATA rather than a file while (my $line = <DATA>) { chomp($line); my ($enu, $deu) = split /\t/, $line; $hash{$enu} = $deu; # Keep a list of all duplicate values push @{$dup_hash{$deu}}, $enu; } for my $key (keys %hash) { print "$key\n"; } for my $value (values %hash) { print "$value\n"; } print "\nDuplicate definitions:\n"; for my $deu (keys %dup_hash) { if (scalar @{$dup_hash{$deu}} > 1) { for my $en (@{$dup_hash{$deu}}) { print "$deu => $en\n"; } print "\n"; } } __DATA__ Retire a document Dokument deaktivieren Remove a document from the knowledge base Dokument aus der Knowledg +e Base entfernen Promote document retirement Dokument deaktivieren Document Expired Dokument abgelaufen

Gives the output:

Remove a document from the knowledge base Document Expired Promote document retirement Retire a document Dokument aus der Knowledge Base entfernen Dokument abgelaufen Dokument deaktivieren Dokument deaktivieren Duplicate definitions: Dokument deaktivieren => Retire a document Dokument deaktivieren => Promote document retirement

Edit: Renamed some of the variables to accurately reflect their contents. Second edit Pretty much the same thing as what JavaFan has, just different syntactical approach.

Comment on Re: Find duplicate values in hash
Select or Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://756884]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (9)
As of 2015-08-31 19:55 GMT
Find Nodes?
    Voting Booth?

    The oldest computer book still on my shelves (or on my digital media) is ...

    Results (363 votes), past polls