App-TrashUtils
view release on metacpan or search on metacpan
lib/App/TrashUtils.pm view on Meta::CPAN
require File::Trash::FreeDesktop;
require Perinci::Object::EnvResultMulti;
my %args = @_;
my $trash = File::Trash::FreeDesktop->new;
my $res = Perinci::Object::EnvResultMulti->new;
for my $file (@{ $args{files} }) {
my @st = lstat $file;
if (!(-e _)) {
$res->add_result(404, "File not found: $file", {item_id=>$file});
next;
}
if ($args{-dry_run}) {
log_info "[DRY_RUN] Trashing %s ...", $file;
$res->add_result(200, "Trashed (DRY_RUN)", {item_id=>$file});
next;
}
log_info "Trashing %s ...", $file;
eval { $trash->trash($file) };
if ($@) {
( run in 0.951 second using v1.01-cache-2.11-cpan-39bf76dae61 )