Really? Sure, with warnings, you get a warning message. However, the program produces what it should produce, so the warnings generated are a nuisance. Perhaps you say "yeah, I know, but golly, perhaps in the future '@_[$a]' will mean something else". But that, I don't believe. In fact, in the future, in perl6, '@_[$a]' will be the correct way and '$_[$a]' will be wrong way. I don't think anyone will give '@_[$a]' a meaning other than '$_[$a]' in perl 5.12, or another perl5 version. Ever. (As for why this is all in 'code' tags, I've used [] several times in the posts. It's too much of a hassle to type 13 characters for each occurance)