use Class::Std; my @example_array; my %example_hash; my $example_scalar; my $instance_count = 0; sub BUILD { my ($self, $ident, $args_ref) = @_; $instance_count++; } sub DEMOLISH { my ( $self, $ident ) = @_; if ( ! --$instance_count ) { undef %example_hash; undef @example_array; undef $example_scalar; } } sub get_example_array { return @example_array; } sub set_example_array { shift; @example_array = @_; }