http://www.perlmonks.org?node_id=532976


in reply to removing old dirs

since this is a rather simple 'find' task, you can use 'find2perl' to get your code:

find2perl -type d -mtime +7

and the output will be ....

#! /usr/bin/perl -w eval 'exec /usr/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; # Traverse desired filesystems File::Find::find({wanted => \&wanted}, '.'); exit; sub wanted { my ($dev,$ino,$mode,$nlink,$uid,$gid); (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) && -d _ && (int(-M _) > 7); }

Of course, you can modify the sub 'wanted' as you like ...

Enjoy,
Mickey