<font face="courier new,monospace"><br></font><br><div class="gmail_quote">On Fri, May 10, 2013 at 1:33 PM, Quantum Mechanic <span dir="ltr"><<a href="mailto:quantum.mechanic.1964@gmail.com" target="_blank">quantum.mechanic.1964@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I would have tried "my" instead of the punctuation variables:<br>
<br>
if (my @capture = /$regex/) {<br>
    foreach @capture {<br>
        do something;<br>
    }<br>
}<br></blockquote><div><br>That doesn't make any difference, @capture still (seems to get) the 1/true result code<br>when there is no capturing.<br><br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Cheers,<br>
QM<br>
<br>
On May 10, 2013, at 4:23 PM, Carlo Costantini <<a href="mailto:fifteen3@gmail.com">fifteen3@gmail.com</a>> wrote:<br>
<br>
> Because I was following along and thought others might be following as well. I thought I would summarize<br>
> what you discovered to help you with this situation.<br>
><br>
> After looking up $+. I saw that there is also $& which has the string of the last pattern match.<br>
><br>
> So to summarize:<br>
><br>
> - a successful match with no captured data<br>
><br>
> will have a $& value defined but will not have a $+ value defined.<br>
><br>
> - a successful match with captured data<br>
><br>
> will have both $& and $+ defined but you only need to check $+<br>
><br>
> - an unsuccessful match<br>
><br>
> $& will not be defined<br>
><br>
><br>
> Thank you for "thinking aloud", Fulko.<br>
><br>
> --<br>
> Carlo<br>
><br>
><br>
> On Friday, 10 May, 2013 at 10:23 AM, Fulko Hew wrote:<br>
><br>
>> Responding to my own post...<br>
>><br>
>> I just discovered that I can test the defined-ness<br>
>> of $+ (the 'last' extraction) because I wasn't sure<br>
>> if $1 $2... would be _also_ defined, if I specified a list to return into.<br>
>><br>
>> hmm, yes, $n are populated regardless of the left hand side<br>
>><br>
>> Thanks<br>
>><br>
>><br>
>> On Fri, May 10, 2013 at 10:16 AM, Mike Stok <<a href="mailto:mike@stok.ca">mike@stok.ca</a> (mailto:<a href="mailto:mike@stok.ca">mike@stok.ca</a>)> wrote:<br>
>>> My perl is getting a little rusty, but the first thing I thought of was to check the defined-ness of $1 e.g.<br>
>>><br>
>>> my $line = 'this is stuff in here';<br>
>>> my @patterns = qw / stuff (stuff) stuff/;<br>
>>> foreach $regex (@patterns) {<br>
>>> my @capture = ();<br>
>>> print "regex is '$regex' ... ";<br>
>>><br>
>>> if ((@capture = ($line =~ m/$regex/)) && defined $1) {<br>
>>> print "captured " . scalar @capture . " items \n";<br>
>>> my $i = 0;<br>
>>> foreach my $item (@capture) {<br>
>>> print " capture[$i]: '$item'\n";<br>
>>> $i++;<br>
>>> }<br>
>>> } else {<br>
>>> print "nothing captured\n";<br>
>>> }<br>
>>> }<br>
>>><br>
>>><br>
>>><br>
>>> I'm sure there's some problem with that though...<br>
>>><br>
>>> Mike<br>
>>><br>
>>> On 2013-05-10, at 10:06 AM, Fulko Hew <<a href="mailto:fulko.hew@gmail.com">fulko.hew@gmail.com</a> (mailto:<a href="mailto:fulko.hew@gmail.com">fulko.hew@gmail.com</a>)> wrote:<br>
>>>> my $line = 'this is stuff in here';<br>
>>>> my @patterns = qw / stuff (stuff) /;<br>
>>>> foreach $regex (@patterns) {<br>
>>>> my @capture = ();<br>
>>>> print "regex is '$regex' ... ";<br>
>>>> if (@capture = ($line =~ m/$regex/)) {<br>
>>>> print "captured " . scalar @capture . " items \n";<br>
>>>> my $i = 0;<br>
>>>> foreach my $item (@capture) {<br>
>>>> print " capture[$i]: '$item'\n";<br>
>>>> $i++;<br>
>>>> }<br>
>>>> } else {<br>
>>>> print "nothing captured\n";<br>
>>>> }<br>
>>>> }<br>
>>><br>
>>> --<br>
>>><br>
>>> Mike Stok <<a href="mailto:mike@stok.ca">mike@stok.ca</a> (mailto:<a href="mailto:mike@stok.ca">mike@stok.ca</a>)><br>
>>> <a href="http://www.stok.ca/~mike/" target="_blank">http://www.stok.ca/~mike/</a><br>
>>><br>
>>> The "`Stok' disclaimers" apply.<br>
>><br>
>> _______________________________________________<br>
>> toronto-pm mailing list<br>
>> <a href="mailto:toronto-pm@pm.org">toronto-pm@pm.org</a> (mailto:<a href="mailto:toronto-pm@pm.org">toronto-pm@pm.org</a>)<br>
>> <a href="http://mail.pm.org/mailman/listinfo/toronto-pm" target="_blank">http://mail.pm.org/mailman/listinfo/toronto-pm</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> toronto-pm mailing list<br>
> <a href="mailto:toronto-pm@pm.org">toronto-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/toronto-pm" target="_blank">http://mail.pm.org/mailman/listinfo/toronto-pm</a><br>
</blockquote></div><br>