How can I delete all the files in a directory, (without deleting the directory) in Perl?
My host only allows up to 250,000 "files" and my /tmp folder fills that 250,000 qouta fast with all the session cookies going on. I cannot delete the /tmp folder in this situation. I am only permitted to delete the files within.
EDIT:
FTP clients and File managers don't exactly want to open up the folder... I assume it's because of the massive amount of files in it..
You need to use glob for removing files: unlink glob "'/tmp/*.
unlink LIST unlink. Deletes a list of files. On success, it returns the number of files it successfully deleted. On failure, it returns false and sets $! (errno): my $unlinked = unlink 'a', 'b', 'c'; unlink @goners; unlink glob "*.bak"; On error, unlink will not tell you which files it could not remove.
Delete() in Perl is used to delete the specified keys and their associated values from a hash, or the specified elements in the case of an array. This operation works only on individual elements or slices.
From the left pane on the home page, select the folder and then click Delete PI Vision Folder .
my $errors;
while ($_ = glob('/tmp/* /tmp/.*')) {
next if -d $_;
unlink($_)
or ++$errors, warn("Can't remove $_: $!");
}
exit(1) if $errors;
You can use this. You need to use glob for removing files:
unlink glob "'/tmp/*.*'";
These extra apostrophes are needed to handle filenames with spaces as one string.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With