B. Fongo <[EMAIL PROTECTED]> wrote:
:
: What may be wrong with my code? Perl complains of
: use of uninitialized value at addition and in range
: (or flop).
: #########################################
:
: #!/usr/bin/perl -w
: use strict;
:
: my ($xi, $i, @numbers, @slice);
: @numbers = (1..10);
This array has 10 items in it. @number[ 0 .. 9 ]
: $i = 0;
: $xi = 0;
:
: open(RS, ">perd.dat") || die "Could not open file. $!\n";
: for (my $z = 0; $z <= $#numbers; $z++){
:
:
: foreach (@numbers){
Comment the next two lines out and add:
printf
"%3s: [EMAIL PROTECTED] = [EMAIL PROTECTED] \$number[ %s ]," .
"\$number[ %2s ] .. \$number[ %2s ] + 4 ]\n",
++$iter, $xi, $i, $i, $#numbers;
: @slice = @numbers[$xi, $numbers[$i] ..
: $numbers[$i]+4];
: print RS "@slice\n";
: $i++;
: }
:
: $xi++;
:
: }
:
: close(RS);
This is some of what I got. Notice that by
the seventh iteration you are using indexes
for @numbers that have no value. $number[6]
when incremented by 4 gives an index of 10.
1: @slice = @numbers[ $number[ 0 ],$number[ 0 ] .. $number[ 0 ] + 4 ]
2: @slice = @numbers[ $number[ 0 ],$number[ 1 ] .. $number[ 1 ] + 4 ]
3: @slice = @numbers[ $number[ 0 ],$number[ 2 ] .. $number[ 2 ] + 4 ]
4: @slice = @numbers[ $number[ 0 ],$number[ 3 ] .. $number[ 3 ] + 4 ]
5: @slice = @numbers[ $number[ 0 ],$number[ 4 ] .. $number[ 4 ] + 4 ]
6: @slice = @numbers[ $number[ 0 ],$number[ 5 ] .. $number[ 5 ] + 4 ]
7: @slice = @numbers[ $number[ 0 ],$number[ 6 ] .. $number[ 6 ] + 4 ]
<--
8: @slice = @numbers[ $number[ 0 ],$number[ 7 ] .. $number[ 7 ] + 4 ]
<--
9: @slice = @numbers[ $number[ 0 ],$number[ 8 ] .. $number[ 8 ] + 4 ]
<--
10: @slice = @numbers[ $number[ 0 ],$number[ 9 ] .. $number[ 9 ] + 4 ]
<--
11: @slice = @numbers[ $number[ 1 ],$number[ 10 ] .. $number[ 10 ] + 4 ]
<--
12: @slice = @numbers[ $number[ 1 ],$number[ 11 ] .. $number[ 11 ] + 4 ]
<--
[arrows added]
HTH,
Charles K. Clarkson
--
Head Bottle Washer,
Clarkson Energy Homes, Inc.
Mobile Home Specialists
254 968-8328
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]