Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Here is my code:
sub test2{ return "HTML"; } sub test { return join '', test2("1", "$ENV{'HTTP_HOSTS'} "); } print test();
And here is the result:
C:\WINDOWS\system32\cmd.exe /c sh $ perl -w test.PL Use of uninitialized value in concatenation (.) or string at test.PL l +ine 11. HTML$
I am using perl, v5.8.3 built for MSWin32-x86-multi-thread. The second argument passed to test2 is undef, but why would that cause this error? Notice that test2 still returns "HTML". And how best to correct this error?