[web] Barre de Progression ASCII
Je voudrais savoir comment faire une "barre de progression" en Perl.
En fait il s'agirait plutot d'un enchainement de caractères , style / - \ | pour simuler une attente.
j'ai trouvé ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| sub _barre_progression
{
my @spin = ('|','/','-','\\'); #initialise les éléments pour l'attente
my $i = 0; #initialise l'index
while(1)
{
print $spin[$i]; #aiffche l'élément de la barre
sleep 1; #attend un peu
print chr 8; #efface le caractère
$i = ($i+1) % scalar @spin; #incrémente l'index
}
} |
Mais le soucis c'est le While(1).
L'ideal serait de pouvoir lancer cette routine avant un long traitement, et pouvoir l'arrêter à la fin. Telle qu'elle est programmée, elle va tourner sans arrêt !!
Je sais qu'il existe une lib appellée twiddle sur CPAN, mais malheureusement je ne peux pas installer de nouvelle lib sur le PC où Perl tourne (pb d'admin et maintenance). Donc tout le code nécessaire sera dans le programme principal.
Merci d'avance ;)