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]