in reply to Re: Use of uninitialized value within
in thread Use of uninitialized value within

Your math is unnecessarily complicated.

One could further simplify the math by taking advantage of the fact that the  [ ] subscript operator does its own 'floor' operation by just throwing away the fractional part of the (inherently) double number:

c:\@Work\Perl>perl -wMstrict -le "use POSIX qw(floor); ;; print 'perl version ', $]; ;; my @PC1=(58,50,42,34,26,18,10,2, 60,52,44,36,28,20,12,4, 62,54,46,38,30,22,14,6, 64,56,48,40,32,24,16,8, 57,49,41,33,25,17, 9,1, 59,51,43,35,27,19,11,3, 61,53,45,37,29,21,13,5, 63,55,47,39,31,23,15,7); ;; my @parr = qw(0 M 0 A 0 I 0 L); printf $parr[floor( $PC1[$_]/8 )] for (0..63); print ''; printf $parr[ $_ / 8 ] for @PC1; " perl version 5.014004 Use of uninitialized value in printf at -e line 1. L0I0A0M0L0I0A0M0L0I0A0M0L0I0A0ML0I0A0M0L0I0A0M0L0I0A0M0L0I0A0M0 Use of uninitialized value in printf at -e line 1. L0I0A0M0L0I0A0M0L0I0A0M0L0I0A0ML0I0A0M0L0I0A0M0L0I0A0M0L0I0A0M0
(Of course, this doesn't address the root problem of generating an index that's out of range!)


Give a man a fish:  <%-(-(-(-<