use File::Path qw( remove_tree ); use File::Temp qw( tempdir ); my $tmpdir = tempdir( CLEANUP => 0 ); ... remove_tree( $tmpdir ) if $success;