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

Re: Parsing block of texts

by kcott (Archbishop)
on Apr 02, 2021 at 21:51 UTC ( [id://11130746]=note: print w/replies, xml ) Need Help??


in reply to Parsing block of texts

G'day perlance,

Reading the entire file contents into a string, and then reading all of that data again to parse it, is not very efficent: instead, parse the data as you're reading it (once). I also think you're completely on the wrong track with '... split(/($pattern)/ ...'; to be honest, I'm not really sure what you were hoping to achieve with that.

All you probably need is something simple like this:

#!/usr/bin/env perl use strict; use warnings; my $chunk = -1; while (<DATA>) { if ((split)[1] eq 'False') { ++$chunk; print "#Chunk $chunk:\n"; } print; } __DATA__ GO:0002366 False GO:0002446 True GO:0002275 True GO:0043312 True GO:0006733 False GO:0019674 False GO:0043588 False GO:0055065 False GO:0055080 True

Output:

#Chunk 0: GO:0002366 False GO:0002446 True GO:0002275 True GO:0043312 True #Chunk 1: GO:0006733 False #Chunk 2: GO:0019674 False #Chunk 3: GO:0043588 False #Chunk 4: GO:0055065 False GO:0055080 True

— Ken

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2024-04-25 15:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found