WC -Sx- Jones <[EMAIL PROTECTED]> wrote:
: 
: [Becuase of a recent discussion on Postfix-users list]
: Would anyone like to expand/explain what, exactly, is // 
: matching below:

    The first iteration of the loop, // matches a
zero-length string. Each subsequent time it matches the
last successful match.

    The gotcha is if there was a successful match
previous to the loop:

my $string = 'string';
$string =~ /d/;

while (<DATA>) {
    ++$idx; print "Line $idx - seen $_" if //;
}

    Above there is no change since the first match
failed. Below we get a different result. Now, all
matches in the loop match the last successful match.

my $string = 'string';
$string =~ /i/;

while (<DATA>) {
    ++$idx; print "Line $idx - seen $_" if //;
}

    If you want to be certain you are matching only
zero-length strings, use /()/.

while (<DATA>) {
    ++$idx; print "Line $idx - seen $_" if /()/;
}


    I'm curious. What prompted the question?


HTH,

Charles K. Clarkson
-- 
Mobile Homes Specialist
254 968-8328


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to