in reply to Symbolic reference to a subroutine
Have you checked the actual value of $guestfile to be sure it is what you think it is? Do you really want three separate subroutines for each possible value of $localfile?
What you are trying to do should work fine (though I wouldn't recommend it.) Here's an example to prove it:
$ perl -le 'sub foo { print "foo" } sub bar { print "bar" } $s = $t = +"foo"; &$s; $s = "bar"; &$s; $s = $t; &$s' foo bar foo
You really should consider doing this differently though. Using symbolic references usually results in difficult to maintain code and it is almost never necessary. If you must, consider using hashes and hard references to create a jump table. But, it seems to me that your problem would be adequately solved by passing the name of the file as a parameter rather than as part of the subroutine name.
-sauoq "My two cents aren't worth a dime.";
|
|---|