Perl循环不打印字符

som*_*ser 2 perl

这个人有我.

这有效:

print "Processing Feed\n";
while ( my @p = $mainex->fetchrow_array ) {
    my $iis = "$pcount";
    print "$iis\n";
    # ... Do Other Stuff Here
    $pcount++;
}
Run Code Online (Sandbox Code Playgroud)

这使:

Processing Feed
1
2
3
4
5
6
7
8
9
10
...
Run Code Online (Sandbox Code Playgroud)

这不起作用(从第4行中删除\n):

print "Processing Feed\n";
while ( my @p = $mainex->fetchrow_array ) {
    my $iis = "$pcount";
    print "$iis";
    # ... Do Other Stuff Here
    $pcount++;
}
Run Code Online (Sandbox Code Playgroud)

这只是给出了:

 Processing Feed
Run Code Online (Sandbox Code Playgroud)

我正在尝试构建一个计数器,它将使用以下内容输出记录的计数:

while( Something ){
    print "\b\b\b\b\b\b\b\b\b\b\b";
    print "$count";
    $count++;
    # Do stuff here
}
Run Code Online (Sandbox Code Playgroud)

任何想法,为什么当第二个例子中没有\n时,没有什么是打印到屏幕?我以前做了很多次,无法弄清楚它为什么不起作用.

Chr*_*lan 6

打印结束时的换行触发stdout的刷新,打印到屏幕上.如果你添加$|++到perl脚本的顶部,它将打开stdout的autoflushing,你会看到你的数字.