in reply to -w in production environment

One other option is to add your own warn handler that ignores uninitialized value warnings. Personally, I'd rather deal with them in the code so as to avoid nasty surprises, but it can come in handy sometimes:
$SIG{__WARN__} = sub { unless ($_[0] =~ /^Use of uninitialized value/) { warn $_[0]; } };
Looks like there's more information in warn and perlvar.