I am unable to duplicate your problem with my perl v5.16.3. I can suggest several improvements to your code.
Always use strict and warnings.
Use of printf with only a format is confusing. Use print
Your math is unnecessarily complicated.
use strict; use warnings; use POSIX qw(floor); 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=('0','M','0','A','0','I','0','L'); print $parr[floor( $PC1[$_]/8 )], "\n" for (0..63);
My use of 'floor' is not strictly necessary in this case, but is recommended for the reason explained in int.
In reply to Re: Use of uninitialized value within
by BillKSmith
in thread Use of uninitialized value within
by gary16
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |