Affichage unique dans une boucle en PERL
Résolu
NMalo
Messages postés
83
Date d'inscription
Statut
Membre
Dernière intervention
-
Templier Nocturne Messages postés 7734 Date d'inscription Statut Membre Dernière intervention -
Templier Nocturne Messages postés 7734 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis vraiment pas doué en prog...
Je suis chargé de développer un script analysant tous les fichiers d'un répertoire et devant ensuite supprimer les fichiers qui ne respectent pas certaines normes (nommage, taille fichier, doublons et autres).
Pour le moment, ma recherche fonctionne parfaitement.
La suppression des fichiers vides également, mais je ne parviens pas à afficher un résumé de cette opération une seule fois.
J'ai regardé du côté de
Je me doute que ça doit être un détail de rien du tout, mais pas moyen de trouver :(
Voici la partie qui supprime les fichiers vides avec celle qui est sensée me faire les
Par avance merci.
Je suis vraiment pas doué en prog...
Je suis chargé de développer un script analysant tous les fichiers d'un répertoire et devant ensuite supprimer les fichiers qui ne respectent pas certaines normes (nommage, taille fichier, doublons et autres).
Pour le moment, ma recherche fonctionne parfaitement.
La suppression des fichiers vides également, mais je ne parviens pas à afficher un résumé de cette opération une seule fois.
J'ai regardé du côté de
nextmais rien à faire, je ne parviens pas au résultat souhaité.
Je me doute que ça doit être un détail de rien du tout, mais pas moyen de trouver :(
Voici la partie qui supprime les fichiers vides avec celle qui est sensée me faire les
foreach my $fichier_rep (@fichiers) { #Suppression fichiers vides sub fic_vide { push @fic_vide, $File::Find::name if -z } find (\&fic_vide,$repertoire); $nbfic_supp = (@chemin_fic_supp = grep { unlink } @fic_vide); print "$nbfic_supp fichiers ont été supprimés.\n"; #C'est cette partie que print "Voici la liste de fichiers supprimés :\n"; #je cherche à n'afficher print "$_\n" foreach @chemin_fic_supp; # qu'une seule fois }
Par avance merci.
A voir également:
- Affichage unique dans une boucle en PERL
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Problème affichage page internet google chrome ✓ - Forum Google Chrome
- Problème affichage fenêtre windows 10 - Guide
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
4 réponses
il faut les retirer du foreach :
foreach my $fichier_rep (@fichiers) { #Suppression fichiers vides sub fic_vide { push @fic_vide, $File::Find::name if -z } find (\&fic_vide,$repertoire); $nbfic_supp = (@chemin_fic_supp = grep { unlink } @fic_vide); } print "$nbfic_supp fichiers ont été supprimés.\n"; #C'est cette partie que print "Voici la liste de fichiers supprimés :\n"; #je cherche à n'afficher print "$_\n" foreach @chemin_fic_supp; # qu'une seule fois
Oui, mon script fonctionne et supprime convenablement les fichiers souhaités, mais les print n'affiche pas le nombre de fichiers supprimés ni les chemins avec cette syntaxe.
Ils s'affichent bien une seul fois.
Merci.
Ils s'affichent bien une seul fois.
Merci.
foreach my $fichier_rep (@fichiers) { #Suppression fichiers vides sub fic_vide { push @fic_vide, $File::Find::name if -z } $nbfic = $nbfic + 1; find (\&fic_vide,$repertoire); $nbfic_supp = (@chemin_fic_supp = grep { unlink } @fic_vide); $temp = $temp."$_\n" foreach @chemin_fic_supp } print "$nbfic fichiers ont été supprimés.\n"; #C'est cette partie que print "Voici la liste de fichiers supprimés :\n"; #je cherche à n'afficher print $temp; # qu'une seule fois
j'imagine que ça devrait fonctionner :)
Yes it works, merci :p
Juste, je n'ai pas e nombre de fichiers supprimés, j'ai trouvé qu'en rajoutant "+" devant le "=" j'avais le nombre de fichiers supprimés, (cf en dessous)
mais du coup j'ai ces deux messages d'erreur :
"Use of uninitialized value $nbfic in addition (+) at "
&
"Use of uninitialized value $temp in print at"
Merci !
Juste, je n'ai pas e nombre de fichiers supprimés, j'ai trouvé qu'en rajoutant "+" devant le "=" j'avais le nombre de fichiers supprimés, (cf en dessous)
$nbfic_supp += (@chemin_fic_supp = grep { unlink } @fic_vide);
mais du coup j'ai ces deux messages d'erreur :
"Use of uninitialized value $nbfic in addition (+) at "
&
"Use of uninitialized value $temp in print at"
Merci !