在Windows终端中打印此脚本时,其他空行是从哪里来的?
use strict;
use warnings;
use 5.10.0;
use Term::Size::Any qw(chars);
my $w = ( chars( \*STDOUT ) )[0];
my $string = "Y" x $w;
say $string;
say $string;
say $string;
say $w;
MSWindows控制台的输出:
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
80
Linux控制台的输出:
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
80
答案 0 :(得分:2)
如果您写入屏幕的最后一列,不同的终端和终端仿真器/控制台的工作方式会有所不同。
该程序在写长线和LF
之间休眠 use strict;
use warnings;
use 5.10.0;
my $w = shift // 80 ;
my $string = "Y" x $w;
$|++; # flush buffer on every write
print $string ;
print "\n" ;
print $string ;
sleep 2 ;
print "\n" ;
print "Finished\n" ;
在Windows上,您在睡觉时会看到以下内容。
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
[bottom of screen]
在Linux上
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
[bottom of screen]
可能还有更多,但希望这会满足你的好奇心!
答案 1 :(得分:0)
而不是'说'使用'打印'。我认为Linux和Windows上的输出都是一样的。
答案 2 :(得分:0)
我感兴趣的是脚本在Windows上的行为方式不同。
因为您使用的两个终端是不同的程序。