in reply to References, Prototypes, and read-only values

I'll admit to being stumped by this one. Your prototype forces the second and third arguments to start with $,and typically a read-only value is a constant (take a peek through perldoc perldiag for your exact error message (minus line numbers) and you'll see the typical scenario in which this error arises).

I'm not going to cry 'perl bug!' though, because I'm just not *that* familiar with prototypes and how Perl does 'em. But what say you put in the following modification and see what happens:

sub GetSSNameFromFile { my ($s_inputFile, $rs_OutputFile, $rs_recurseLabel) = @_; # as before $rs_recurseLabel++; # .. as before }
Getting rid of the prototype might at least help track down the problem.

Ooops, hold it! I didn't read the original code closely enough. You're trying to increment the thing to which $rs_recurseLabel *refers* Take a sack of salt with this one ... (but I'll still hold to "why put the prototype in?". In the chatterbox, tilly thoughtfully provided a link to this piece by Tom Christiansen, which is an illuminating document on Perl prototypes and their attendant gotchas))