Perl打印循环并替换之前的打印结果

时间:2017-05-30 12:00:32

标签: perl

可以在perl输出中替换打印结果

Simple.csv的内容:

string1
string2
string3

我的剧本:

#!/usr/bin/perl
use strict;
use warnings;
my $file = 'simple.csv';
open my $info, $file or die "Could not open $file: $!";
while( my $line = <$info>)  {
    sleep(2);
    print $line ;
}

close $info;

输出如下:

string1
string2
string3

如何更改单行中的输出互相替换,如string1 ..然后替换string2 ...然后替换字符串3

2 个答案:

答案 0 :(得分:1)

使用$onDestroy() { // your code } 来控制换行字符的拼版。使用退格键(printf)在最后一个输出行上向后移动,或者只是发出回车符(\b)以移动到行的开头。线路缓冲也被禁用。这样的东西符合你的要求(据我所知):

\r

答案 1 :(得分:0)

希望,print语句本身可以做到这一点。

#!/usr/bin/perl 
use strict;
use warnings;
my $file = 'simple.csv';
open my $info, $file or die "Could not open $file: $!";
while( my $line = <$info>)  {
        chomp($line);
        print "$line\r";
        sleep(2);
}

close $info;

此回车符移动到每行打印的行首。