1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
use strict;
use File::Find ();
my $dir = "projet_perl";
# 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; ## a quoi ca sert ici ??? ca doit pouvoir se retirer si j'ai bien compris
# Traverse desired filesystems
File::Find::find( { wanted => \&wanted }, $dir );
exit;
sub wanted {
my ( $dev, $ino, $mode, $nlink, $uid, $gid );
## en conservant l'appel a lstat, tout se passe bien
## en revanche, si je l'enleve, certains fichiers ne sont plus
## detectes bien que valides... Pourquoi ???
( ( $dev, $ino, $mode, $nlink, $uid, $gid ) = lstat($_) )
&& $File::Find::name =~ /^\Q$dir\E\/.*\z/s
&& ( $File::Find::prune = 1 )
&& -f _ && T _
&& print("$name\n");
} |
Partager