> You can get bitten by this. Everything is call-by-reference, not > call-by-value as in Perl, C etc. Change a function's parameter and you > change the original, not a local copy of it. Perl is call-by-reference when you modify the arguments array @_ directly. It is call-by-value when you copy the arguments (which is the convention). <verbatim> sub cbr{ $_[0]++ } $var = 1; cbr($var); print $var; # gives 2 sub cbv{ my ($foo) = @_; $foo++ } $var = 1; cbv($var); print $var; # gives 1 </verbatim> >> Also, it helps you appreciate one of the ways that Perl is more readable >> than its counterpart. > > I find the contrary. Uncommented Perl is typically impossible to > understand unless you wrote it yourself. It *is* possible to write clear > Perl but, as with C, most people don't bother. People just love to be lazy. However I find that given the right tools (use strict; perltidy, perlcritic, a good ide e.g. Eclipse/Epic) it is relativly easy to write maintainable perl code. -- Posted via http://www.ruby-forum.com/.