Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^8: Listing of files using glob

by choroba (Abbot)
on Jan 05, 2012 at 14:03 UTC ( #946401=note: print w/ replies, xml ) Need Help??


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

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.


Comment on Re^8: Listing of files using glob
Re^9: Listing of files using glob
by MidLifeXis (Prior) on Jan 05, 2012 at 14:12 UTC

    Aaah, quite right. I am curious about the line endingness of FILE then (in which case, chomp would not do the right thing either :-/ )

    --MidLifeXis

Re^9: Listing of files using glob
by AG87 (Acolyte) on Jan 06, 2012 at 05:16 UTC

    The input data is like

    >1elwA AAAAAASSSSSSSSSSSSSSDDDDDDDDDDDFFFFFFFFFF >1flwA GGGGGGGGGGHHHHHHHHHHHHIIIIIIIIIIIIIIJJJJJJJJJJ >1ghwA KKKKKKKKKKLLLLLLLLLLMMMMMMMMMMNNNNNNNNNNOOOOO

    Where >1elwA, >1flwA, >1ghwA should be the keys of the hashes and the respective data should be the value of the hash. The code/sub for storing in the file is

    #!/usr/bin/perl my %seqInfo = (); open(FILE, 'test.fasta'); { while(<FILE>) { my $line = $_; if ($line =~ />.*/) { #print "$&\n"; } else { #print "$line\n"; } $seqInfo{$&} = $line; print "$& => $line\n"; } }

    and the output is

    => >1elwA => AAAAAASSSSSSSSSSSSSSDDDDDDDDDDDFFFFFFFFFF => >1flwA => GGGGGGGGGGHHHHHHHHHHHHIIIIIIIIIIIIIIJJJJJJJJJJ => >1ghwA => KKKKKKKKKKLLLLLLLLLLMMMMMMMMMMNNNNNNNNNNOOOOO

    However according to my understanding the output should be like

    >1elwA => AAAAAASSSSSSSSSSSSSSDDDDDDDDDDDFFFFFFFFFF

    Maybe the file is not properly stored as keys and values :( :(

      Thankyou for the replies, Infact I have figured out the problem and have solved it. I have added a counter in it and its working fine + I have replaced the $& character with the similar substr expression as advised. So now the code is working fine. Thanks again for all the replies... :) :) :)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (8)
As of 2014-09-30 10:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (363 votes), past polls