Was looking at output from caller EXPR
and from my testing, I was surprised by param number 4 (from 0) called $hasargs
being "1" when the sub
it was in had no arguments (or parameters).
In reading the explanation for the parameter $hasargs, it seems it might be better named $newframe or such -- not that such a name is more clear (without explanatory text), but at least no one would mistake it for meaning the sub it is called in had arguments.
It seems that it is not 1, only when the subroutine parameter is (eval).
Is that true?
Does anyone know if there are other situations where $hasargs is not '1'?
Would it be worthwhile to file a doc-bug against the manpage(perdoc) to have it renamed to something other than $hasargs, so it won't confuse people into thinking it means that the called subroutine, it is in, "has arguments" (because that's not what it means), but instead might be called $hasframe, $newframe or something that would better describe what it is or, at least, not cause confusion?