use strict; use warnings; my @array = (1 .. 8); print "Before: @array\n"; nastyModifyParamsSub (@array); print "After: @array\n"; sub nastyModifyParamsSub { for my $element (@_) { ++$element; } } #### Before: 1 2 3 4 5 6 7 8 After: 2 3 4 5 6 7 8 9 #### use strict; use warnings; my @array = (1 .. 8); print "Before: @array\n"; nastyModifyParamsSub (@array); print "After: @array\n"; sub nastyModifyParamsSub { for (@_) { ++$_; clobberDefVar (); } } sub clobberDefVar { $_ = 0; } #### Before: 1 2 3 4 5 6 7 8 After: 0 0 0 0 0 0 0 0