Do gube's original question and the fine answers above not point also to some optomization (a single instance in the symbol table of the two identical if...} clauses? Note that adding the third time thru, but using a variant if... (no 'g') produces a match there but then repeating the variant if...} finds no match in 4.

#!/usr/local/bin/perl use strict; use warnings; my $regexp = 'Perl Monks'; my $regexp2 = 'Perl Monks is a wonderful place to visit'; # even if No +de Reaper is sometimes a bit loud if($regexp =~ m/^Perl Monks/gi) { print "\nFound.0."; } else { print "\nNot Found.0."; } if($regexp =~ m/^Perl Monks/gi) { print "\nFound.1."; } else { print "\nNot Found.1."; } if($regexp =~ m/^Perl Monks/i) { # No 'g' print "\nFound.2."; } else { print "\nNot Found.2."; } if($regexp2 =~ m/^Perl Monks/gi) { # 'g' is back, but different $var +being tested print "\nFound.3."; } else { print "\nNot Found.3."; } if($regexp2 =~ m/^Perl Monks/gi) { # second identical use of $regex2 +and match print "\nFound.4."; } else { print "\nNot Found.4."; }
produces:
perl gube_g.pl Found.0. Not Found.1. Found.2. Found.3. Not Found.4.

In reply to Re: Re-use of a global match by ww
in thread Re-use of a global match by gube

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.