use strict; use warnings; use Data::Dumper; my @list1 = qw(a b c); my @list2 = qw(d e f); changem(\@list1, \@list2); print "\n=== After changem ===\n"; printf "%s\n", join q(, ), @list1; printf "%s\n", join q(, ), @list2; sub changem { my $aref1 = shift or die "no list1"; my $aref2 = shift or die "no list2"; $aref1->[1] = 'Camel'; $aref2->[1] = 'LLama'; print "list1: " . Dumper($aref1); print "list2: " . Dumper($aref2); }