Doesn't matter whether your explanation is precise. If one uses warnings (like everyone says here), there are plenty of warnings to make one think whether things are right:
use Data::Dumper; use strict; use warnings; my @array = qw( A B C ); my ($x, $y, $z) = (0, 1, 2); my @a = $array[0..1]; print Dumper(\@a); @a = $array[$x..$y]; print Dumper(\@a);
Which gives:
Use of uninitialized value in range (or flip) at math1.pl line 8. Use of uninitialized value in range (or flop) at math1.pl line 8. $VAR1 = [ 'B' ]; Argument "" isn't numeric in array element at math1.pl line 10. $VAR1 = [ 'A' ];
With all the warnings, one starts to fix things:
use Data::Dumper; use strict; use warnings; my @array = qw( A B C ); my ($x, $y, $z) = (0, 1, 2); my @a = @array[0..1]; print Dumper(\@a); @a = @array[$x..$y]; print Dumper(\@a);
Which gives the slice one wanted:
$VAR1 = [ 'A', 'B' ]; $VAR1 = [ 'A', 'B' ];
In reply to Re: Slice Madness
by pg
in thread Slice Madness
by japhy
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |