#!/usr/bin/perl package Testing; use HTML::TreeBuilder; sub new { my $class = $_[0]; $class = ref($class) || $class; my $self = { tree => HTML::TreeBuilder->new() }; bless $self, $class } sub DESTROY { my $self = shift; eval { $self->{tree} = $self->{tree}->delete(); }; } sub do_something { Carp::croak "DIE! DIE! DIE!" } package main; eval { my $page = Testing->new(); $page->do_something(); }; if ($@) { print STDERR "Error: " . $@ if $@; exit 1; } exit 0;