in reply to passing arguments as reference
Of course, you can also pass references instead of the variables themselves, and then unload @_ in the usual way so that you don't have to work with that undescriptively-named array. Or you can take references to the elements of the array:use strict; use warnings; sub modify_args { $_[0] = 'new-value'; } my ($one, $two) = qw(cat dog); modify_args($one, $two); print "$one $two\n";
sub modify_args1 { my ($argref1, $argref2) = \(@_[0..$#_]); $$argref1 = 'new value'; }
|
|---|