Zaxo++. That said, when you specify things that should be illegal, like print(T @foo), perl often tries to DWIM in ways more hurestic then definitional -- by defintion, that should be print(T(@foo)), but since there isn't a sub T, it guesses that you might have meant an inderect object, most of the time. Perl's mostly only whitespace sensitive in rare cases, where there are more then one valid way to parse your code.
Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).