next

Hi All,

I am afraid I am not understanding "next" again.

When you invoke it, does it pop you back at the start of
the loop or just cough up the next value?

Many thanks,
-T

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Serious error.
All shortcuts have disappeared.
Screen. Mind. Both are blank.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0
ToddAndMargo
6/17/2017 1:02:31 AM
perl.perl6.users 899 articles. 0 followers. Follow

12 Replies
46 Views

Similar Articles

[PageSpeed] 10

--94eb2c000e2a8f589405521d895d
Content-Type: text/plain; charset="UTF-8"

On Fri, Jun 16, 2017 at 9:02 PM, ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> I am afraid I am not understanding "next" again.
>
> When you invoke it, does it pop you back at the start of
> the loop or just cough up the next value?
>

The former. Or you can think of it as jumping past everything else in the
loop body so the next thing it does is get the next value and run the loop
body with it.

-- 
brandon s allbery kf8nh                               sine nomine associates
allbery.b@gmail.com                                  ballbery@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net

--94eb2c000e2a8f589405521d895d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On F=
ri, Jun 16, 2017 at 9:02 PM, ToddAndMargo <span dir=3D"ltr">&lt;<a href=3D"=
mailto:ToddAndMargo@zoho.com" target=3D"_blank">ToddAndMargo@zoho.com</a>&g=
t;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0=
 .8ex;border-left:1px #ccc solid;padding-left:1ex">I am afraid I am not und=
erstanding &quot;next&quot; again.<br>
<br>
When you invoke it, does it pop you back at the start of<br>
the loop or just cough up the next value?<br></blockquote></div><div class=
=3D"gmail_extra"><br></div>The former. Or you can think of it as jumping pa=
st everything else in the loop body so the next thing it does is get the ne=
xt value and run the loop body with it.<br clear=3D"all"><div><br></div>-- =
<br><div class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div =
dir=3D"ltr"><div>brandon s allbery kf8nh =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 sine=
 nomine associates</div><div><a href=3D"mailto:allbery.b@gmail.com" target=
=3D"_blank">allbery.b@gmail.com</a> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0<a href=3D"mailto:ballbery@sinenomine.net" target=3D"_blank">ballbery=
@sinenomine.net</a></div><div>unix, openafs, kerberos, infrastructure, xmon=
ad =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"http://sinenomine.net" target=3D"_=
blank">http://sinenomine.net</a></div></div></div>
</div></div>

--94eb2c000e2a8f589405521d895d--
0
allbery
6/17/2017 1:08:18 AM
On 06/16/2017 06:08 PM, Brandon Allbery wrote:
> On Fri, Jun 16, 2017 at 9:02 PM, ToddAndMargo <ToddAndMargo@zoho.com 
> <mailto:ToddAndMargo@zoho.com>> wrote:
> 
>     I am afraid I am not understanding "next" again.
> 
>     When you invoke it, does it pop you back at the start of
>     the loop or just cough up the next value?
> 
> 
> The former. Or you can think of it as jumping past everything else in 
> the loop body so the next thing it does is get the next value and run 
> the loop body with it.

Hi Brandon,

I kept thinking it was going to cough up the next value,
not restart the loop.

Thank you!

-T
0
ToddAndMargo
6/17/2017 1:19:36 AM
On Sat, Jun 17, 2017 at 4:19 AM, ToddAndMargo <ToddAndMargo@zoho.com> wrote:
> On 06/16/2017 06:08 PM, Brandon Allbery wrote:
>>
>> On Fri, Jun 16, 2017 at 9:02 PM, ToddAndMargo <ToddAndMargo@zoho.com
>> <mailto:ToddAndMargo@zoho.com>> wrote:
>>
>>     I am afraid I am not understanding "next" again.
>>
>>     When you invoke it, does it pop you back at the start of
>>     the loop or just cough up the next value?
>>
>>
>> The former. Or you can think of it as jumping past everything else in the
>> loop body so the next thing it does is get the next value and run the loop
>> body with it.
>
>
> Hi Brandon,
>
> I kept thinking it was going to cough up the next value,
> not restart the loop.

I probably would not say "restart" the loop.
It goes to the *next* iteration of the loop:


If the loop has a condition it jumps to check that condition again and
acts accordingly.
(If the condition is true it does the next iteration, if the condition
is false it ends the loop.)

use v6;

my $i = 0;

while $i < 6 {
    $i++;
    next if $i %% 2;   # if it can be divided by two go to next iteration
    say $i;
}

prints
1
3
5


If the loop has some action and a condition it will jump to  execute
the action again (increment $i) and check the condition and act
accordingly doing the next iteration or quitting the loop.

use v6;

loop (my $i = 0; $i < 10; $i++)  {
    next if $i %% 2;    # if it can be divided by two go to next iteration
    say $i;
}

will print
1
3
5
7
9


Gabor
0
szabgab
6/17/2017 4:11:55 AM
--001a1144594abaefa8055222c44a
Content-Type: text/plain; charset="UTF-8"

On Fri, Jun 16, 2017 at 11:11 PM, Gabor Szabo <szabgab@gmail.com> wrote:

> I probably would not say "restart" the loop.
>
>
There is a statement for that, "redo" restarts the loop without updating
the value.

my $true_count = 0;

loop (my $i = 1; $i < 10; $i++)  {
last if ++$true_count == 6;
say "\$true_count==$true_count, \$i=$i";
    redo if $i %% 2;    # if it can be divided by two go restart this
iteration
    say "Did not reoo";
}


prints

$true_count==1, $i=1
Did not reoo
$true_count==2, $i=2
$true_count==3, $i=2
$true_count==4, $i=2
$true_count==5, $i=2

-y

--001a1144594abaefa8055222c44a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">=
On Fri, Jun 16, 2017 at 11:11 PM, Gabor Szabo <span dir=3D"ltr">&lt;<a href=
=3D"mailto:szabgab@gmail.com" target=3D"_blank">szabgab@gmail.com</a>&gt;</=
span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0=
px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rg=
b(204,204,204);padding-left:1ex"><div id=3D"gmail-:xf" class=3D"gmail-a3s g=
mail-aXjCH gmail-m15cb4409aa2620b7">I probably would not say &quot;restart&=
quot; the loop.<br><br></div></blockquote></div><br>There is a statement fo=
r that, &quot;redo&quot; restarts the loop without updating the value.</div=
><div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><div class=
=3D"gmail_extra">my $true_count =3D 0;</div><div class=3D"gmail_extra"><br>=
</div><div class=3D"gmail_extra"><font face=3D"monospace, monospace">loop (=
my $i =3D 1; $i &lt; 10; $i++) =C2=A0{</font></div><div class=3D"gmail_extr=
a"><font face=3D"monospace, monospace"><span class=3D"gmail-Apple-tab-span"=
 style=3D"white-space:pre">	</span>last if ++$true_count =3D=3D 6;</font></=
div><div class=3D"gmail_extra"><font face=3D"monospace, monospace"><span cl=
ass=3D"gmail-Apple-tab-span" style=3D"white-space:pre">	</span>say &quot;\$=
true_count=3D=3D$true_count, \$i=3D$i&quot;;</font></div><div class=3D"gmai=
l_extra"><font face=3D"monospace, monospace">=C2=A0 =C2=A0 redo if $i %% 2;=
 =C2=A0 =C2=A0# if it can be divided by two go restart this iteration</font=
></div><div class=3D"gmail_extra"><font face=3D"monospace, monospace">=C2=
=A0 =C2=A0 say &quot;Did not reoo&quot;;</font></div><div class=3D"gmail_ex=
tra"><font face=3D"monospace, monospace">}</font></div><div><br></div><div>=
<br></div><div>prints</div><div><br></div><div><div>$true_count=3D=3D1, $i=
=3D1</div><div>Did not reoo</div><div>$true_count=3D=3D2, $i=3D2</div><div>=
$true_count=3D=3D3, $i=3D2</div><div>$true_count=3D=3D4, $i=3D2</div><div>$=
true_count=3D=3D5, $i=3D2</div></div><br clear=3D"all"><div><div class=3D"g=
mail_signature">-y<br></div></div>
</div></div>

--001a1144594abaefa8055222c44a--
0
not
6/17/2017 7:22:26 AM
On 06/16/2017 09:11 PM, Gabor Szabo wrote:
> I probably would not say "restart" the loop.
> It goes to the*next*  iteration of the loop:
> 

I used "restart" because I wanted myself to think it
went back to the top, ignoring everything else
in the {} and proceeded to the next item in the loop.

I was thinking that "next" caused $1 to to go to the
next value and continued executing what was in the {}
0
ToddAndMargo
6/19/2017 4:39:34 AM
On 06/17/2017 12:22 AM, yary wrote:
> last if ++$true_count == 6;

Hi Yary,

++$true_count

Is that the same as `$true_count + 1` ?

And does it alter the value of $true_count?

-T
0
ToddAndMargo
6/19/2017 4:41:55 AM
--001a114307e291abba055248e156
Content-Type: text/plain; charset="UTF-8"

In this instance, it is the same as "$true_count = $true_count + 1".

++$var and $var++ differ if they are used in an assignment or other
operation.

For instance:
my $x = 1;
my $y = ++$x;  # $x is incremented before assignment
my $z = $x++;  # $x is incremented after assignment

At the end, $x = 3, $y = 2, and $z = 2;

On Sun, Jun 18, 2017 at 11:41 PM, ToddAndMargo <ToddAndMargo@zoho.com>
wrote:

> On 06/17/2017 12:22 AM, yary wrote:
>
>> last if ++$true_count == 6;
>>
>
> Hi Yary,
>
> ++$true_count
>
> Is that the same as `$true_count + 1` ?
>
> And does it alter the value of $true_count?
>
> -T
>

--001a114307e291abba055248e156
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">In this instance, it is the same as &quot;$true_count =3D =
$true_count + 1&quot;.<div><br></div><div>++$var and $var++ differ if they =
are used in an assignment or other operation.</div><div><br></div><div>For =
instance:</div><div>my $x =3D 1;</div><div>my $y =3D ++$x; =C2=A0# $x is in=
cremented before assignment</div><div>my $z =3D $x++; =C2=A0# $x is increme=
nted after assignment</div><div><br></div><div>At the end, $x =3D 3, $y =3D=
 2, and $z =3D 2;</div></div><div class=3D"gmail_extra"><br><div class=3D"g=
mail_quote">On Sun, Jun 18, 2017 at 11:41 PM, ToddAndMargo <span dir=3D"ltr=
">&lt;<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_blank">ToddAndMar=
go@zoho.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" styl=
e=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 06/1=
7/2017 12:22 AM, yary wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
last if ++$true_count =3D=3D 6;<br>
</blockquote>
<br>
Hi Yary,<br>
<br>
++$true_count<br>
<br>
Is that the same as `$true_count + 1` ?<br>
<br>
And does it alter the value of $true_count?<span class=3D"HOEnZb"><font col=
or=3D"#888888"><br>
<br>
-T<br>
</font></span></blockquote></div><br></div>

--001a114307e291abba055248e156--
0
wilcoxon
6/19/2017 4:50:58 AM
--f4030437a93804ab5a055248e505
Content-Type: text/plain; charset="UTF-8"

On Mon, Jun 19, 2017 at 12:41 AM, ToddAndMargo <ToddAndMargo@zoho.com>
wrote:

> On 06/17/2017 12:22 AM, yary wrote:
>
>> last if ++$true_count == 6;
>>
>
> ++$true_count
>
> Is that the same as `$true_count + 1` ?
>
> And does it alter the value of $true_count
>

Yes and yes, just like in C and Perl 5; note that being preincrement, it
changes the variable's value *before* it is retrieved, whereas
"$true_count++" would change it *after*.

-- 
brandon s allbery kf8nh                               sine nomine associates
allbery.b@gmail.com                                  ballbery@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net

--f4030437a93804ab5a055248e505
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On M=
on, Jun 19, 2017 at 12:41 AM, ToddAndMargo <span dir=3D"ltr">&lt;<a href=3D=
"mailto:ToddAndMargo@zoho.com" target=3D"_blank">ToddAndMargo@zoho.com</a>&=
gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 =
0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=3D"">On 06/=
17/2017 12:22 AM, yary wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
last if ++$true_count =3D=3D 6;<br>
</blockquote>
<br></span>++$true_count<br>
<br>
Is that the same as `$true_count + 1` ?<br>
<br>
And does it alter the value of $true_count<span class=3D"HOEnZb"><font colo=
r=3D"#888888"><br></font></span></blockquote></div><br clear=3D"all"><div>Y=
es and yes, just like in C and Perl 5; note that being preincrement, it cha=
nges the variable&#39;s value *before* it is retrieved, whereas &quot;$true=
_count++&quot; would change it *after*.</div><div><br></div>-- <br><div cla=
ss=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"ltr">=
<div>brandon s allbery kf8nh =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 sine nomine ass=
ociates</div><div><a href=3D"mailto:allbery.b@gmail.com" target=3D"_blank">=
allbery.b@gmail.com</a> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<a hre=
f=3D"mailto:ballbery@sinenomine.net" target=3D"_blank">ballbery@sinenomine.=
net</a></div><div>unix, openafs, kerberos, infrastructure, xmonad =C2=A0 =
=C2=A0 =C2=A0 =C2=A0<a href=3D"http://sinenomine.net" target=3D"_blank">htt=
p://sinenomine.net</a></div></div></div>
</div></div>

--f4030437a93804ab5a055248e505--
0
allbery
6/19/2017 4:51:56 AM
>> On Sun, Jun 18, 2017 at 11:41 PM, ToddAndMargo <ToddAndMargo@zoho.com 
>> <mailto:ToddAndMargo@zoho.com>> wrote:
>> 
>>     On 06/17/2017 12:22 AM, yary wrote:
>> 
>>         last if ++$true_count == 6;
>> 
>> 
>>     Hi Yary,
>> 
>>     ++$true_count
>> 
>>     Is that the same as `$true_count + 1` ?
>> 
>>     And does it alter the value of $true_count?
>> 
>>     -T
>> 
>> 



On 06/18/2017 09:50 PM, Stephen Wilcoxon wrote:
> In this instance, it is the same as "$true_count = $true_count + 1".
> 
> ++$var and $var++ differ if they are used in an assignment or other 
> operation.
> 
> For instance:
> my $x = 1;
> my $y = ++$x;  # $x is incremented before assignment
> my $z = $x++;  # $x is incremented after assignment
> 
> At the end, $x = 3, $y = 2, and $z = 2;
> 


Thank you!

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Computers are like air conditioners.
They malfunction when you open windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0
ToddAndMargo
6/19/2017 4:52:28 AM
--001a11377fce5f9cb40552527180
Content-Type: text/plain; charset="UTF-8"

On Fri, Jun 16, 2017 at 11:11 PM, Gabor Szabo <szabgab@gmail.com> wrote:

> If the loop has some action and a condition it will jump to  execute
> the action again (increment $i) and check the condition and act
> accordingly doing the next iteration or quitting the loop.
>

Just checking but there are no "continue" blocks for loop control stmts
anymore, P6? Google suggested maybe foreach loops but that was back in 2011.


-- 

a

Andy Bach,
afbach@gmail.com
608 658-1890 cell
608 261-5738 wk

--001a11377fce5f9cb40552527180
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">=
On Fri, Jun 16, 2017 at 11:11 PM, Gabor Szabo <span dir=3D"ltr">&lt;<a href=
=3D"mailto:szabgab@gmail.com" target=3D"_blank">szabgab@gmail.com</a>&gt;</=
span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8e=
x;border-left:1px #ccc solid;padding-left:1ex"><div id=3D":2ft" class=3D"a3=
s aXjCH m15cb4407f12b3066">If the loop has some action and a condition it w=
ill jump to=C2=A0 execute<br>
the action again (increment $i) and check the condition and act<br>
accordingly doing the next iteration or quitting the loop.<br></div></block=
quote></div><br>Just checking but there are no &quot;continue&quot; blocks =
for loop control stmts anymore, P6? Google suggested maybe foreach loops bu=
t that was back in 2011.<br><br clear=3D"all"><div><br></div>-- <br><div cl=
ass=3D"gmail_signature" data-smartmail=3D"gmail_signature"><br>a<br><br>And=
y Bach,<br><a href=3D"mailto:afbach@gmail.com" target=3D"_blank">afbach@gma=
il.com</a><br>608 658-1890 cell<br>608 261-5738 wk</div>
</div></div>

--001a11377fce5f9cb40552527180--
0
afbach
6/19/2017 4:15:25 PM
On Mon, Jun 19, 2017 at 11:15 AM, Andy Bach <afbach@gmail.com> wrote:
>
> On Fri, Jun 16, 2017 at 11:11 PM, Gabor Szabo <szabgab@gmail.com> wrote:
>>
>> If the loop has some action and a condition it will jump to  execute
>> the action again (increment $i) and check the condition and act
>> accordingly doing the next iteration or quitting the loop.
>
>
> Just checking but there are no "continue" blocks for loop control stmts
> anymore, P6? Google suggested maybe foreach loops but that was back in 2011.
>

Instead of a `continue` block after the loop, there is a `NEXT` phaser
inside the block

    for 1..4 {
      next if $_ == 3;
      .^name.say;

      NEXT .say;
    }

Which results in:

    Int
    1
    Int
    2
    3
    Int
    4
0
b2gills
6/19/2017 4:35:24 PM
--94eb2c124b8e67c2b7055254374d
Content-Type: text/plain; charset="UTF-8"

On Mon, Jun 19, 2017 at 11:35 AM, Brad Gilbert <b2gills@gmail.com> wrote:

> Instead of a `continue` block after the loop, there is a `NEXT` phaser
> inside the block
>

ah, thanks (though the term "phaser" (outside of "set on stun", of course)
is new) and that can be block too:
https://docs.perl6.org/language/5to6-nutshell.html#Flow_Control_statements

   my $str = '';
    for 1..5 {
        next if $_ % 2 == 1;
        $str ~= $_;
        NEXT {
            $str ~= ':'
        }
    }



-- 

a

Andy Bach,
afbach@gmail.com
608 658-1890 cell
608 261-5738 wk

--94eb2c124b8e67c2b7055254374d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">=
On Mon, Jun 19, 2017 at 11:35 AM, Brad Gilbert <span dir=3D"ltr">&lt;<a hre=
f=3D"mailto:b2gills@gmail.com" target=3D"_blank">b2gills@gmail.com</a>&gt;<=
/span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px =
0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id=
=3D"gmail-:2gl" class=3D"gmail-a3s gmail-aXjCH gmail-m15cc135c562b57fb">Ins=
tead of a `continue` block after the loop, there is a `NEXT` phaser<br>
inside the block<br></div></blockquote></div><br>ah, thanks (though the ter=
m &quot;phaser&quot; (outside of &quot;set on stun&quot;, of course) is new=
)=C2=A0and that can be block too:</div><div class=3D"gmail_extra"><a href=
=3D"https://docs.perl6.org/language/5to6-nutshell.html#Flow_Control_stateme=
nts">https://docs.perl6.org/language/5to6-nutshell.html#Flow_Control_statem=
ents</a><br></div><div class=3D"gmail_extra"><pre class=3D"editor editor-co=
lors"><div class=3D"gmail-line"><span class=3D"gmail-source gmail-perl6fe">=
=C2=A0=C2=A0=C2=A0<span class=3D"gmail-storage gmail-modifier gmail-declara=
tor gmail-perl6fe">my</span>=C2=A0<span class=3D"gmail-meta gmail-variable =
gmail-container gmail-perl6fe"><span class=3D"gmail-variable gmail-other gm=
ail-identifier gmail-sigil gmail-perl6fe">$</span><span class=3D"gmail-vari=
able gmail-other gmail-identifier gmail-perl6fe">str</span></span>=C2=A0<sp=
an class=3D"gmail-storage gmail-modifier gmail-assignment gmail-perl6fe">=
=3D</span>=C2=A0<span class=3D"gmail-string gmail-quoted gmail-single gmail=
-single gmail-perl6fe"><span class=3D"gmail-punctuation gmail-definition gm=
ail-string gmail-begin gmail-perl6fe">&#39;</span><span class=3D"gmail-punc=
tuation gmail-definition gmail-string end gmail-perl6fe">&#39;</span></span=
>;</span></div><div class=3D"gmail-line"><span class=3D"gmail-source gmail-=
perl6fe">=C2=A0=C2=A0=C2=A0=C2=A0<span class=3D"gmail-keyword gmail-control=
 gmail-repeat gmail-perl6fe">for</span>=C2=A0<span class=3D"gmail-constant =
gmail-numeric gmail-perl6fe">1</span><span class=3D"gmail-keyword gmail-ope=
rator gmail-multi-symbol gmail-perl6fe">..</span><span class=3D"gmail-const=
ant gmail-numeric gmail-perl6fe">5</span>=C2=A0<span class=3D"gmail-meta gm=
ail-block gmail-perl6fe"><span class=3D"gmail-punctuation gmail-definition =
gmail-block gmail-perl6fe">{</span></span></span></div><div class=3D"gmail-=
line"><span class=3D"gmail-source gmail-perl6fe">=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0<span class=3D"gmail-keyword gmail-control gmail-fl=
owcontrol gmail-perl6fe">next</span>=C2=A0<span class=3D"gmail-keyword gmai=
l-control gmail-conditional gmail-perl6fe">if</span>=C2=A0<span class=3D"gm=
ail-meta gmail-variable gmail-container gmail-perl6fe"><span class=3D"gmail=
-variable gmail-other gmail-identifier gmail-sigil gmail-perl6fe">$</span><=
span class=3D"gmail-variable gmail-other gmail-identifier gmail-perl6fe">_<=
/span></span>=C2=A0<span class=3D"gmail-keyword gmail-operator gmail-generi=
c gmail-perl6fe">%</span>=C2=A0<span class=3D"gmail-constant gmail-numeric =
gmail-perl6fe">2</span>=C2=A0<span class=3D"gmail-keyword gmail-operator gm=
ail-multi-symbol gmail-perl6fe">=3D=3D</span>=C2=A0<span class=3D"gmail-con=
stant gmail-numeric gmail-perl6fe">1</span>;</span></div><div class=3D"gmai=
l-line"><span class=3D"gmail-source gmail-perl6fe">=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0<span class=3D"gmail-meta gmail-variable gmail-cont=
ainer gmail-perl6fe"><span class=3D"gmail-variable gmail-other gmail-identi=
fier gmail-sigil gmail-perl6fe">$</span><span class=3D"gmail-variable gmail=
-other gmail-identifier gmail-perl6fe">str</span></span>=C2=A0<span class=
=3D"gmail-keyword gmail-operator gmail-generic gmail-perl6fe">~</span><span=
 class=3D"gmail-storage gmail-modifier gmail-assignment gmail-perl6fe">=3D<=
/span>=C2=A0<span class=3D"gmail-meta gmail-variable gmail-container gmail-=
perl6fe"><span class=3D"gmail-variable gmail-other gmail-identifier gmail-s=
igil gmail-perl6fe">$</span><span class=3D"gmail-variable gmail-other gmail=
-identifier gmail-perl6fe">_</span></span>;</span></div><div class=3D"gmail=
-line"><span class=3D"gmail-source gmail-perl6fe"><span class=3D"gmail-meta=
 gmail-block gmail-perl6fe">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0<span class=3D"gmail-keyword gmail-control gmail-closure gmail-trait gma=
il-perl6fe">NEXT</span>=C2=A0<span class=3D"gmail-meta gmail-block gmail-pe=
rl6fe"><span class=3D"gmail-punctuation gmail-definition gmail-block gmail-=
perl6fe">{</span></span></span></span></div><div class=3D"gmail-line"><span=
 class=3D"gmail-source gmail-perl6fe"><span class=3D"gmail-meta gmail-block=
 gmail-perl6fe"><span class=3D"gmail-meta gmail-block gmail-perl6fe">=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0<span cla=
ss=3D"gmail-meta gmail-variable gmail-container gmail-perl6fe"><span class=
=3D"gmail-variable gmail-other gmail-identifier gmail-sigil gmail-perl6fe">=
$</span><span class=3D"gmail-variable gmail-other gmail-identifier gmail-pe=
rl6fe">str</span></span>=C2=A0<span class=3D"gmail-keyword gmail-operator g=
mail-generic gmail-perl6fe">~</span><span class=3D"gmail-storage gmail-modi=
fier gmail-assignment gmail-perl6fe">=3D</span>=C2=A0<span class=3D"gmail-s=
tring gmail-quoted gmail-single gmail-single gmail-perl6fe"><span class=3D"=
gmail-punctuation gmail-definition gmail-string gmail-begin gmail-perl6fe">=
&#39;</span>:<span class=3D"gmail-punctuation gmail-definition gmail-string=
 end gmail-perl6fe">&#39;</span></span></span></span></span></div><div clas=
s=3D"gmail-line"><span class=3D"gmail-source gmail-perl6fe"><span class=3D"=
gmail-meta gmail-block gmail-perl6fe"><span class=3D"gmail-meta gmail-block=
 gmail-perl6fe">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0<span class=
=3D"gmail-punctuation gmail-definition gmail-block gmail-perl6fe">}</span><=
/span></span></span></div><div class=3D"gmail-line"><span class=3D"gmail-so=
urce gmail-perl6fe"><span class=3D"gmail-meta gmail-block gmail-perl6fe">=
=C2=A0=C2=A0=C2=A0=C2=A0<span class=3D"gmail-punctuation gmail-definition g=
mail-block gmail-perl6fe">}</span></span></span></div></pre><br clear=3D"al=
l"><div><br></div>-- <br><div class=3D"gmail_signature"><br>a<br><br>Andy B=
ach,<br><a href=3D"mailto:afbach@gmail.com" target=3D"_blank">afbach@gmail.=
com</a><br>608 658-1890 cell<br>608 261-5738 wk</div>
</div></div>

--94eb2c124b8e67c2b7055254374d--
0
afbach
6/19/2017 6:22:23 PM
Reply: