in reply to Re^6: Strange modification of @_
in thread Strange modification of @_

I'm not avoiding the standard calling convention.

You may assign $_[0] to $str, but you also continue to use $_[0]. This continued use of @_ is the nonstandard element.