use strict; use warnings; { my @list; sub foo { print "list: (@list)\n"; push @list, @_; \@list; } } my $ref1 = foo(1..3); push @$ref1, 'a', 'b'; my $ref2 = foo(4..6); print "first ref: (@$ref1)\n"; print "final list: (@$ref2)\n";