File::Find wanted et prepocess
Bonjour à tous,
Jusqu'à présent pour mon script de sauvegarde, j'utilisais ce code afin d'obtenir l'arborescence à sauvegarder.
Code:
find (sub {push @all_files,$File::Find::name}, ".");
Le problème étant que je ne prends pas en compte l'exclusion de fichiers.
J'ai donc poussé les portes du module find (merci à la commande perldoc File::Find ^^).
J'ai donc commencer ce bout de code :
Code:
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 35 36 37 38 39
| #!/usr/bin/perl
use strict;
use warnings;
#
use File::Find;
#
# Déclaration des variables
#
my $dir_http = "/home/cassis2k/http";
my @excluded_dir = ("rep1", "rep2", "rep3");
#
# Déclaration des fonctions
#
sub AllFiles
{
#
# Fontion pour le WANTED
#
my @all_files;
push (@all_files, $File::Find::name);
return @all_files;
}
#
sub Filter
{
#
# Fonction pour le PREPORCESS pour me module File::find
#
}
###### Début du script #####
#
my @all_files = find({preprocess => \&Filter, wanted => \&AllFiles}, $dir_http);
print "@all_files\n";
my $nb_of_files = scalar(@all_files);
print "$nb_of_files\n";
#
###### Fin du script ##### |
Ma première question se pose suite au résultat :
Mon code me semble correcte pourtant la liste semble vide :roll:
Ma seconde question concerne une info que j'ai lu je ne sais plus trop où. Lorsqu'on utilise File::Find avec use warning, il peut y avoir des effets indésirables. Pour parer ces effets, il suffit de rajout un no warning File::Find. Que pensez vous de l'utilisation de no warning ? Est elle à proscrire ?
Merci d'avance aux personnes qui s'arrêteront pour m'aider :mrgreen: