Here's what works (note that since you don't need help opening the file, i have included "test.txt" as DATA:

#!/usr/bin/perl -w use strict; while (<DATA>) { if ($_ =~ /\.|\,|\?$/ && $_ =~ /it/) { my @line=split / it /,$_; print "$line[1]"; } } __DATA__ Tim created the Module List in August 1994 and maintained it manually +till April 1996. By that time Andreas had implemented the Perl Authors Uplo +ad Server (PAUSE) and it was happily feeding modules through to the CPAN +archive sites. Since PAUSE held a database of module information which could be maint +ained by module authors it made sense for the module listing part of the Module List to be bui +lt from that database. In April 1996 Andreas took over the automatic post +ing of the Module List and I now maintain the other parts of the text. We pla +n to add value to the automation over time.

Here's why:

  • line 1: note that my perl is in a different place than yours. "perl -w" is use warnings;
  • line 5: uses && to get rid of your nested if. also, i use $/ and not /s (i think this is the same)
  • line 6: split the line into a two array element on " it ", nb. the whitespace deals with "sites"
  • line 7: now just print the second element of the array (first=0, second=1)

    There may be some weakness if you apply this to a different piece of text, but it works on that one (yes, i tested it!)

    In reply to Re: Regex capture between word and punctuation by halfcountplus
    in thread Regex capture between word and punctuation by negzero7

    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.