in reply to How to call a perl function without its context?

I want to call a Perl function and be sure it cannot access any variables declared in its context, just its local variables and passed arguments. Is this possible?

Yes. Just call it.

If the subroutine was declared to use variables from outside of its own body -- ie. closures or global variables -- then from the point of view of the caller of that function, those variables are "local variables".

Or no.

If the subroutine was declared to use variables from outside of its own body -- ie. closures or global variables -- then the function wouldn't work if it didn't have access to them; so there would be no point in calling it if the caller could deny access to them.

All of which suggests you are trying to fix something; but you are going about it in the wrong way.

Your best bet would be to explain what it is that you are trying to 'fix'; perhaps then we can help you to a solution.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
In the absence of evidence, opinion is indistinguishable from prejudice.
I'm with torvalds on this Agile (and TDD) debunked I told'em LLVM was the way to go. But did they listen!
  • Comment on Re: How to call a perl function without its context?