in reply to Re^3: Strange behavior: passing $1 to AUTOLOAD
in thread Strange behavior: passing $1 to AUTOLOAD

The general rule is never, ever pass in $1 and its friends, as they're terribly ephemeral. Make copies and pass them in instead.
That's a good general rule but I'd still go for belt and braces.

If the API of a function doesn't say it treats its arguments as lvalues then it is good practice to make copies of the elements from @_. If you need to do any regex processing before you unpack @_ then wrap it in a block.

  • Comment on Re^4: Strange behavior: passing $1 to AUTOLOAD