First, you should avoid the ampersand syntax unless you have a specific reason to use it.
Second, you're passing by value, not by referance. When you get to the $$in = "Changed\n"; part, perl tries to use $in as a symbolic ref. Symbolic refs are (rightfully) illegal with strict 'refs' turned on, hence the error message. To pass by a hard referance, you need to change how you call the sub to change(\$thingy);. Notice the '\' before the '$', which is saying "make a referance to $thingy". No change should be necessary to the subroutine itself.
----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer
Note: All code is untested, unless otherwise stated
In reply to Re: Re: Re: passing of values by reffernence and taint mode?
by hardburn
in thread passing of values by reffernence and taint mode?
by jcpunk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |