use File::Path; use File::Spec; use Test::More qw|no_plan|; my $tmp = "/Users/jimk/tmp"; chdir $tmp or die; my $partial = "alpha/beta/gamma"; mkpath($partial); ok(-d "$tmp/$partial", "$tmp/$partial created"); rmfromtop($partial); ok(! -d "$tmp/$partial", "$tmp/$partial deleted"); ok(! -d "alpha/beta", "alpha/beta deleted"); ok(! -d "alpha", "alpha deleted"); sub rmfromtop { rmtree((File::Spec->splitdir(+shift))[0]); }