The reason for having a warning about this is that while undef is a perfectly valid value for a variable, it has no textual representation.Bullshit.
There are also characters that have no textual representation, and using them doesn't warn.
Note that the warning from the OP isn't even about printing - it's about concatenation. There's a perfectly good reason why most operations warn if one of its operands is undefined, but having no textual representation isn't that reason.
In reply to Re^2: Annoying 'Use of uninitialized value in concatenation' warning
by JavaFan
in thread Annoying 'Use of uninitialized value in concatenation' warning
by alain_desilets
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |