Dear monks,
I have written a while loop to parse a file (a pdb file), I want to break out of the while loop when it comes across a certain regex. In particular I want the loop to return:
/^SEQRES[\s]{2,5}1\s/
but break out of the loop at:
/^SEQRES[\s]{2,5}2\s/
so far I have written:
while ($line=<INFILE>, $line ne ~/^SEQRES[\s]{2,5}2\s/) { chomp $line; if ($line=~/^SEQRES[\s]{2,5}1\s/) { print "$line\n"; print OUTFILE ("$line\n"); } }
PERL returns the error message:
Use of uninitialized value in string ne at superchimera.pl line 122, <INFILE> line 5579.
by which I imagine it means $line. I must stress that the loop runs and returns the regex without the ne condition, so it is this part of the code that appears to be faulty.
Can anyone help (sorry if this is poorly written, this is my first question of the honoured monks)?

In reply to more than one condition to a while loop by anchorite

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.