in reply to foreach and if inside <<ENDHTML? Can they work?

They're called here documents, and they're just an elaborate quoting mechanism. Your snippet is functionally equivalent to print qq~ ... stuff here ... ~; Variables get interpolated in double quotes, but double quotes aren't eval ( blip print "@{[1,2,3,4]}\n").

MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
** The third rule of perl club is a statement of fact: pod is sexy.