#!/usr/bin/perl -w use strict; use warnings; use Error qw(:try); for (1..3) { my $x = Foo->new(); try { try { print "$_: $x\n" }; }; } END { warn("interpreter exit\n") } package Foo; sub new { return bless {}, shift } sub DESTROY { warn("Foo::DESTROY\n") }