Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re^5: Listing of files using glob

by choroba (Canon)
on Jan 05, 2012 at 11:50 UTC ( #946377=note: print w/ replies, xml ) Need Help??

in reply to Re^4: Listing of files using glob
in thread Listing of files using glob

Are you chomping lines when storing names into the hash?

Comment on Re^5: Listing of files using glob
Replies are listed 'Best First'.
Re^6: Listing of files using glob
by AG87 (Acolyte) on Jan 05, 2012 at 11:56 UTC

    No I am not. Here is the code used to store the file into hash

    open(FILE, "$path_to_fastaSeqs") or die("cannot open file"); { while(<FILE>) { my $line = $_; if ($line =~ />.*/) { #print "$&\n"; } else { #print "$line\n"; } $seqInfo{$&} = $line; } close(FILE); }

    Any errors or wrong approach??

      > Any errors or wrong approach??

      Yep. You never chomp the data read from the filehandle FILE. Since you are building the file name directly from the line read, it most likely contains a newline. If you print your value for $line with a delimiter surrounding it (print "'$line'\n";) you will see what I mean. See chomp (as has been previously mentioned) for a solution.

      Update: Since the OP is using $& to populate the hash, and the processing loop uses the keys of the hash as the name of the file, the newline from the file should not be included in the hash key. Nice catch choroba

      I wonder what the line endings are in the data file. Is it possible that the file is in DOS line ending format? In which case, the chomp (and $&?) would not do the right thing.


        It's a bit more complicated. The OP uses $& as the hash key after matching />.*/, which removes the newline (as . does not match a newline), but it can overwrite a previous hash value if the line does not match, which we cannot tell without seeing the input data.
      Can you show the input, too?

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (3)
As of 2015-11-27 09:41 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (722 votes), past polls