Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: read between two strings

by Rhose (Priest)
on May 16, 2002 at 15:07 UTC ( #167022=note: print w/ replies, xml ) Need Help??


in reply to read between two strings

You could use the flip-flop operator to skip lines which are not between the %%Atom Coords and %%End Frame markers. Maybe something like this?

#!/usr/bin/perl -w use strict; while (<DATA>) { #-- Skip lines not in the section to be processed next unless /^%%Atom Coords/../^%%End Frame/; #-- Skip the section markers next if (/^%%Atom Coords/ or /^%%End Frame/); #-- Parse lines... print; } __DATA__ %%Atom Coords -1.13 12.16 6.15 %%End Frame more stuff... and more stuff... %%Atom Coords -2.26 24.32 12.30 %%End Frame


Comment on Re: read between two strings
Download Code
Replies are listed 'Best First'.
•Re: Re: read between two strings
by merlyn (Sage) on May 16, 2002 at 15:13 UTC
    #-- Skip lines not in the section to be processed next unless /^%%Atom Coords/../^%%End Frame/; #-- Skip the section markers next if (/^%%Atom Coords/ or /^%%End Frame/);
    It's bad coding practice to write and test those twice, and you don't need to, if you pay attention to the return value:
    my $inrange = /^%%Atom Coords/../^%%End Frame/; next unless $inrange; next if $inrange == 1 or $inrange =~ /E/; # skip first and last item + of range
    Very simple. RTFM.

    -- Randal L. Schwartz, Perl hacker

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (11)
As of 2015-07-07 22:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (93 votes), past polls