> 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/.