http://qs1969.pair.com?node_id=505339


in reply to finding Un-Initialised variables from the perl code

The warning is misleading or at least, confusing. It doesn't mean variables are un-initialised - it means that values are undefined. And while each un-initialized variable contains an undefined value, the reverse isn't true.
my $foo = undef; # Variable is initialized. print $foo; __END__ Use of uninitialized value in print
Your request is also unfeasable. Sure, it theory Perl could check that whenever you use my it's on the LHS of an assignment. Beside that it would flag code that has run without warnings for many years, it also won't do you any good. For instance, while:
my @foo = qw /bar baz quux/;
initialized $foo[0], $foo[1] and $foo[2], it still means that $foo[3], $foo[4], $foo[5], ..., etc are uninitialized.
Perl --((8:>*