in reply to what does "use of uninitialized value" really mean?

Of course, you don't give us the exact error message or short, self-contained code that will produce it. Is it something like this?

>perl -wMstrict -le "my @ra = qw(a b c d); my $uninitialized; print $ra[3]; print '----------'; print $ra[$uninitialized]; print $ra[undef]; " d ---------- Use of uninitialized value $uninitialized in array element at -e line +1. a Use of uninitialized value in array element at -e line 1. a