in reply to Here document construct problem
What is the full source code? Just by using your scratchpad it is not possible to examine the line of code actually generating the warning.
When using warnings, perl generates this warning when it tries to evaluate a variable that has not been previously defined. Try looking at line 349 in your code and what variables are being used in it. If there are multiple variables used, use the process of elimination to figure out which is causing your problem, then make sure to assign it the value you need.
Update: Changed using strict to using warnings to correct mix-up.