<?xml version="1.0" encoding="windows-1252"?>
<node id="228501" title="Non-destructive array processing" created="2003-01-20 16:40:56" updated="2005-06-16 16:17:40">
<type id="120">
perlmeditation</type>
<author id="132236">
Juerd</author>
<data>
<field name="doctext">
&lt;p&gt;
&lt;code&gt;
my @array = 1..10;
my $r = sub { \@_ }-&gt;(@array);
while (my @chunk = splice @$r, 0, 2) {
    print "Chunk: @chunk\n";
}
print "Original array is still intact! (@array)\n";
&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;...or...&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;
my @array = 1..10;
for (my $i = 0; $i &lt;= $#array; $i += 2) {
    my @chunk = @array[$i, $i + 1];
    print "Chunk: @chunk\n";
}
&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
Which do you prefer? Why?
&lt;/p&gt;

&lt;p&gt;&lt;font color="#800000"&gt;&lt;pre&gt;
Juerd
- &lt;a href="http://juerd.nl/" target="_blank"&gt;&lt;font color="#800000"&gt;http://juerd.nl/&lt;/font&gt;&lt;/a&gt;
- &lt;a href="mailto:spamcollector_perlmonks@juerd.nl" target="_blank"&gt;&lt;font color="#800000"&gt;spamcollector_perlmonks@juerd.nl&lt;/font&gt;&lt;/a&gt; (do not use).
&lt;/pre&gt;&lt;/font&gt;&lt;/p&gt;</field>
</data>
</node>
