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 7716 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 7716 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
- Pc s'allume et s'éteint en boucle - Forum Matériel informatique
- Freebox redémarre en boucle ✓ - Forum Freebox
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Boucle cmd - Forum Programmation
- Ipad s'allume et s'éteint en boucle - Forum iPad
4 réponses
Templier Nocturne
Messages postés
7716
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
7716
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
7716
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
7716
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 ;)