in reply to
Ditto with all the rest of the replies, except... some strange behaviour.
Note that if your undefined variable is 1st in the string, no warning message.
The second print statement does not print a warning.
my $a = 1;
my $b = 2;
my $c = 3;
my $d = 4;
print "$a $b $c $d $e\n";
print "$e $a $b $c $d\n";
My guess is that it is the concatenation of a 'null' that causes the warning.
"$a $b" is optimized to $a." ".$b according to the message I get when I use the 'use diagnostics' with this code.