$tmpdir = File::Temp::tmpdir(); $archive = Archive::Extract->new( archive => ... ); $archive->extract( to => $tmpdir ); # Hooks DESTROY for this object. $archive = on_cleanup( $archive, sub { # rm -rf $tmpdir } );