загрузка / обработка анимации в perl - PullRequest
6 голосов
/ 03 декабря 2010

Есть ли способ отобразить анимацию, пока Perl обрабатывает файл или что-то еще? Возможно последовательность | / - | \ (вращающаяся труба) вместо просто печати точек.

Спасибо за вашу помощь.

Ответы [ 2 ]

7 голосов
/ 03 декабря 2010

Простая вращающаяся труба может быть создана с помощью кода, подобного следующему:

#!/usr/bin/perl

use strict;
use warnings;

$|++; # turn off output buffering;

my @chars = qw(| / - \ );

my $i = 0;

print $chars[$i];

while (1) {
  sleep 1;
  print "\b", $chars[++$i % @chars];
}

Для чего-то более сложного, посмотрите на Term :: ProgressBar .

3 голосов
/ 03 декабря 2010

Конечно, что-то вроде этого сделает это:

perl -e '$|++; foreach $i (0..10) { print "\r", substr("|/-\\", ($i % 4), 1); sleep 1; }'

Вы можете поместить подобный код в цикл обработки, чтобы отобразить соответствующий счетчик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...