in reply to Re^9: compare two files on the basis of Two IDs
in thread compare two files on the basis of Two IDs

Hi, Again, if ( grep{$chr}@{$file2_hash{$val1}} ) is good to directly grab the entries. But suppose, if we want to compare (i.e. ==, or >= or <=) the values.. How the code will change then.. suppose ...  if ( grep{$chr}@{$file2_hash{$val1}}  >= '$val1')

OR

 if ({$chr}@{$file2_hash{$val1},$chr}  >= "$val1:$chr")

what is your suggestions ? What will be the correct code. I am poor in hash..

Replies are listed 'Best First'.
Re^11: compare two files on the basis of Two IDs
by Marshall (Canon) on Oct 09, 2016 at 05:24 UTC
    I am not sure what you are trying to do. @{$file2_hash{$val}} is an array assigned to a hash key of $val. The array contains at least one string like "Chr12" and could potentially contain multiple ChrX strings. Whether there is just one or more than one Chr string depends upon the data.

    The grep{} looks at all of the Chr strings and if one is found that matches $chr, then you get a "true" in the if statement.

    It is easy to change the tests on the Chr strings. Looking for a range of hash keys (values) is a whole different story.

    We are back to the same problem where your description of what you want is not clear.