#!/usr/bin/perl -wT use strict; use File::Path qw/rmtree mkpath/; rmtree(untaint_filename($ARGV[0]), 1, 1) or die "Could not rmtree $ARGV[0]: $!"; sub untaint_filename { my ($filename) = ($_[0] =~ m!^([\w\d\-_/\.]+)$!) or die "$_[0] is not safe."; return $filename; } #### mkdir -p blah/blah/blah/blah touch blah/blah/foo touch blah/blah/bar touch blah/blah/blah/foo touch blah/blah/blah/bar ./test.pl blah