Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Findding missing record between 2 files ?

by k_manimuthu (Monk)
on Jan 06, 2011 at 12:39 UTC ( #880807=note: print w/replies, xml ) Need Help??

in reply to Findding missing record between 2 files ?

File A | File B
A         A
B         B
C         -
D         -
-          E
-          F
G         G

For the above sample you may expect the C,D. But, Your script gives C,D,E,F.
You process the 'File A' and hold the data at %status.

While process the File B you hold the data at the same hash, and check the key is exists or not. For this kind of circumstance it gives File A and File B contents.

So avoid the cause hold File A contents in %hash_one and File B contents in another hash (%hash_two).
Compare the %hash_one elements with %hash_two. We will get the C,D.

Pseudo code

Process File A contents and store in to %hash_one Process File B contents and strore in to %hash_two foreach $key (keys %hash_one) { if (! $hash_two{$key}) { Print "\nFile A contents", $hash_one{$key} , "missed at File B +"; } }

Replies are listed 'Best First'.
Re^2: Finding missing record between 2 files ?
by RMGir (Prior) on Jan 06, 2011 at 12:52 UTC
    (fixed typo in subject)

    As long as the files aren't large, that's fine, except that you're not finding keys present in file B but not in file A.

    You're using 2 hashes where one would suffice, so you can cut your memory usage in half.

    Pseudo code:

    Process File A contents and store in %hash_one while(<FileB>) { # do whatever you need to to compute $key if (! exists $hash_one{$key}) { print "File B contains $key but File A does not\n"; } delete $hash_one{$key}; } # the keys left in %hash_one weren't in File B foreach(keys %hash_one) { print "File A contains $key, but File B does not\n"; }


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://880807]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2018-06-21 17:24 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (118 votes). Check out past polls.