|
|
|
|
|
by rcfox
5133 days ago
|
|
1) Adopt a convention of extracting your arguments at the beginning of the function. Also, sometimes you just want to work on an arbitrary list of items. If you process one item and then shift it, that's a reasonable thing to do. 2. If you adopted the convention in 1, this shouldn't bite you. (I've never actually encountered this issue myself...) 3. You are misinformed. You can easily do something along the lines of: f({a => 'foo', b => 'bar'});
sub f{ my ($args) = @_; say $args->{a}; }
There's probably a module of CPAN to do this even nicer. |
|
some_func(\%$some_object, \%some_hash);
and used variables like $a and $b as mainline code parameters...
However, if having dangerous features were something to hold against a language in general, nobody would be using C (maybe Linux in such an alternate universe would be written in Fortran or some other abomination). On the whole, I think that well-written Perl is very good. Poorly written Perl is... well, poorly written.