sub inc{
my $ref=shift;
my $span=shift;
$span?($span--):($span=1);
my @b=map{ clone([@$ref[$_-$span..$_]]) }($span..$#$ref);
\@b
}
sub clone{#clone references
my $ref=shift;
my@array=map{ ref($_)?clone($_):$_ }@$ref;
\@array
}
my@b=(1..5);
my $c = inc(inc(\@b));
print Dumper $c;
####
$VAR1 = [
[
[
1,
2
],
[
2,
3
]
],
[
[
2,
3
],
[
3,
4
]
],
[
[
3,
4
],
[
4,
5
]
]
];
####
@a = (1,2,3,4,5,6);
increment(\@a);
#produces tuples of:
[1,2],[2,3],[3,4],[4,5],[5,6] #yay!!
####
$VAR1 = [
[
[
1,
2
],
[
2,
3
]
],
[
$VAR1->[0][1],
[
3,
4
]
],
[
$VAR1->[1][1],
[
4,
6
]
]
];
####
my @a = (1,2,3,4,6);
print Dumper increment(increment(\@a));
sub increment{
my $d=shift;
my @b;
for my $i (1..$#$d){
my @a = @$d[$i-1..$i];
push @b,\@a;
}
\@b
}