File: recursively_remove_a_directory_and_its_contents.pl

package info (click to toggle)
libfile-util-perl 4.201720-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 840 kB
  • sloc: perl: 4,353; makefile: 2
file content (24 lines) | stat: -rw-r--r-- 551 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# ABSTRACT: This code removes a directory and everything in it

use strict;
use warnings;
use File::Util qw( NL );

my $ftl = File::Util->new();
my $removedir = '/path/to/directory/youwanttodelete';

my @gonners = $ftl->list_dir( $removedir, '--recurse' );

# remove directory and everything in it
@gonners = reverse sort { length $a <=> length $b } @gonners;

foreach my $gonner ( @gonners, $removedir ) {

   print "Removing $gonner ...", NL;

   -d $gonner ? rmdir $gonner || die $! : unlink $gonner || die $!;
 }

print 'Done.  w00T!', NL;

exit;