Citation :
sub Copier_Repertoire {
my ( $dir_source, $dir_dest ) = @_;
# On teste l'existance des répertoires
die "Le répertoire source $dir_source n'existe pas\n" if ( ! -e $dir_source );
die "Le répertoire destination $dir_dest existe déja\n" if ( -e $dir_dest );
# On crée le répertoire destination
mkdir ( $dir_dest, 0777 ) or die "Impossible de créer le répertoire $dir_dest : $!\n";
# On ouvre le répertoire source
opendir( DIR, $dir_source ) || die "Impossible d'ouvrir le répertoire $dir_source : $!\n";
# On récupére la liste des éléments qu'il contient
my @elmts = grep !/(?:^\.$)|(?:^\.\.$)/, readdir DIR;
closedir DIR;
# On copie
foreach ( @elmts )
{
if ( -d "$dir_source/$_" )
{
Copier_Repertoire( "$dir_source/$_", "$dir_dest/$_" );
}
else
{
copy ( "$dir_source/$_", "$dir_dest/$_" ) || die "Impossible de créer le fichier $dir_dest/$_ : $!\n";
}
}
}
|