I hope someone eventually answers this part of your question:
in reply to Debugging "Use of uninitialized value" warnings.
Is the best practice simply to code more defensively and explicitly check all variables are initialized prior to interpolation? I could do that, I guess, but I'm afraid of bloating the code needlessly.
because this drives me nuts, too. I am still very new to perl, at the stage where those warnings Do look like "noise" to me. I don't understand why I should have to explicitly set all my variables to a value to avoid this problem. If indeed, that's what I need to do. Particularly when the resulting output is what I want.
If anyone could point me toward some relevant pages here or in the Llama/ Camel books explaining this, I'd be very grateful.