taint has asked for the wisdom of the Perl Monks concerning the following question:
using Perl. I made use of one of the Perl utilities, find2perl. After reading it's syntax, I used what I understood to be the equivalent:find ./iso/ -type f -cmin '+11' -uid web -exec rm '{}' \;
-- with 2 exceptions;find2perl ./iso/ -iname '*.xz' -user web -ctime 1 -exec rm '{}' \;
Is this right?!#! /usr/local/bin/perl -w eval 'exec /usr/local/bin/perl -S $0 ${1+"$@"}' if 0; #$running_under_some_shell use strict; use File::Find (); # Set the variable $File::Find::dont_use_nlink if you're using AFS, # since AFS cheats. # for the convenience of &wanted calls, including -eval statements: use vars qw/*name *dir *prune/; *name = *File::Find::name; *dir = *File::Find::dir; *prune = *File::Find::prune; sub wanted; my (%uid, %user); while (my ($name, $pw, $uid) = getpwent) { $uid{$name} = $uid{$uid} = $uid; } # Traverse desired filesystems File::Find::find({wanted => \&wanted}, './iso/'); exit; sub wanted { my ($dev,$ino,$mode,$nlink,$uid,$gid); (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) && /^.*\.xz\z/si && ($uid == $uid{'web'}) && (int(-C _) == 1) && (unlink($_) || warn "$name: $!\n"); }
#!/usr/bin/perl -Tw use perl::always; my $perl_version = "5.12.4"; print $perl_version;
|
---|