2015-11-28 8 views
0

Вывод Я пытаюсь выполнить что-то вдоль линий:Несколько Обновление строк в Perl

 line1 = get 
    line2 = shwifty 
    line3 = in 
    line4 = here 

... и в командной строке будет освежать все эти строки без непрерывно перепроведении новых линий ! Я могу заставить это работать несколько способов, ЕСЛИ ТОЛЬКО ОДНА ЛИНИЯ ИСПОЛЬЗУЕТСЯ, но как бы я написал или пропустил мимо MULTIPLE строк?

Прямо сейчас, в командной строке даст:

 line1 = get 
    line2 = shwifty 
    line3 = in 
    line4 = here 
    line1 = get2 
    line2 = shwifty2 
    line3 = in2 
    line4 = here2 

как я могу просто «освежить» четыре строки, которые я хочу?

+0

Вы можете использовать [Ncurses] (http://stackoverflow.com/questions/2907321/ncurses-and-perl-any-guides) или написать [коды ANSI] (https: // ан .wikipedia.org/wiki/ANSI_escape_code), если ваш терминал поддерживает его (они, скорее всего, делают). – Kenney

ответ

1

Для нескольких линий команда tput полезна. Демонстрационный:

clear 
for ((i=1; i<=4; i++)); do 
    tput cup 0 0 
    printf "%s$i\n" get shwifty in here 
    sleep 1 
done 
+0

К сожалению, не perl-код. Ну, 'qx {tput ...}' или там должен быть модуль –