package ReturnList; use strict; use warnings; sub TIESCALAR { my ( $class ) = @_; my $self = {}; $self->{Value} = undef; bless $self, $class; } sub STORE { my ( $self, $value ) = @_; push @{$self->{Value}}, $value; return $value; } sub FETCH { my $self = shift; print "List context\n" if wantarray(); return @{$self->{Value}}; } 1; # ---------- Begin main ---------- package main; use strict; use warnings; my $var; tie $var, "ReturnList"; $var = 10; $var = 20; $var = 40; my @array = $var; print @array, "\n"; __OUTPUT__ 3