Bonjour à tous,

Jusqu'à présent pour mon script de sauvegarde, j'utilisais ce code afin d'obtenir l'arborescence à sauvegarder.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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

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