Affichage unique dans une boucle en PERL
Résolu/Fermé
NMalo
Messages postés
83
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
26 juillet 2011
-
16 juin 2011 à 13:57
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 - 16 juin 2011 à 15:07
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 - 16 juin 2011 à 15:07
A voir également:
- Affichage unique dans une boucle en PERL
- Affichage double ecran - Guide
- Problème affichage le bon coin ✓ - Forum Virus
- Coque unique avis - Forum Consommation & Internet
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Windows 11 affichage classique - Guide
4 réponses
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 101
16 juin 2011 à 14:00
16 juin 2011 à 14:00
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
NMalo
Messages postés
83
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
26 juillet 2011
9
16 juin 2011 à 14:04
16 juin 2011 à 14:04
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.
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 101
Modifié par Templier Nocturne le 16/06/2011 à 14:12
Modifié par Templier Nocturne le 16/06/2011 à 14:12
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 :)
NMalo
Messages postés
83
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
26 juillet 2011
9
16 juin 2011 à 14:48
16 juin 2011 à 14:48
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 !
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 101
16 juin 2011 à 14:56
16 juin 2011 à 14:56
initialise les variables avant la boucle :
$temp = ''
$nbfic = 0
$temp = ''
$nbfic = 0
NMalo
Messages postés
83
Date d'inscription
jeudi 9 juin 2011
Statut
Membre
Dernière intervention
26 juillet 2011
9
16 juin 2011 à 15:02
16 juin 2011 à 15:02
Je me sens tellement honteux et mauvais >< . . .
Merci pour tout et une excellente continuation à toi.
Merci pour tout et une excellente continuation à toi.
Templier Nocturne
Messages postés
7734
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2016
1 101
16 juin 2011 à 15:07
16 juin 2011 à 15:07
de rien ;)
bon codage à toi, c'est en codant qu'on apprend ;)
bon codage à toi, c'est en codant qu'on apprend ;)