package WWW::Mechanize::KeepSlim; our @ISA = qw/WWW::Mechanize/; sub _push_page_stack { my $self = shift; if ( $self->{res} ) { my $save_stack = $self->{page_stack}; $self->{page_stack} = []; push( @$save_stack, $self->clone ); # HERE! - stop the stack getting bigger than 10 if ( @$save_stack > 10 ) { shift(@$save_stack); } $self->{page_stack} = $save_stack; } return 1; } package main; my $agent = WWW::Mechanize::KeepSlim->new(); # ....