Rolf: I appreciate the detailed response.
I have tried to use both packages and modules from time to time,
but I cannot remember the details of how to do things with either,
so I tend to stick to what I can remember.
I do use both 'strict' and 'my', but have not figured out how to use 'our' effectively.
Actually, I described the history backwards of the calling and the called.
Typically, the function in question would be written long before the calling code
and would, in fact, end up being called by many different bits of code.
Some might define $scale one way, some another, and some not at all.
I like the eval() solution and will go with that.
Thanks to all.