in reply to Re^2: Preventing Use of uninitialized value.
in thread Preventing Use of uninitialized value.
Not really. Those warnings annoy me.
The ability to treat an uninitialized variable as zero or the empty string is handy and is part of what makes perl Perl. Explicitly having to check whether a variable is undef at runtime makes code unnecessarily verbose and (very slightly) slower. I can understand wanting to have this warning available to help people with debugging, but 99% of the time, it's annoying.
I don't think the once or void warnings categories have ever helped me find a real error in my code. once becomes annoying if you want to do things like:
printf "%s%s\n", $MyModule::Config::Indent ? "\t" : "", $output;
Where $MyModule::Config::Indent is a variable that end users can set to true if they want indented output. That might be the only place in my module where I perform any output, so that variable would only be referenced once. I don't want a warning for that. (And yes, I know globals are bad in general, but there are some places where their use can be expedient.)
The numeric warnings category can be annoying at times too, but it's just helpful enough for me to want to keep it enabled most of the time.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Preventing Use of uninitialized value.
by 1nickt (Canon) on Dec 13, 2018 at 18:26 UTC |