Perl:say and print,比预期多了一行换行符



为什么这个程序会创建2换行符,一个来自say,另一个来自何处?

use feature 'say';
my $s1  = 'X';
my $s2  = 'Y';
say join ("0",@{[$s1, $s2]});

编辑这是两条换行符:

$ perl b.pl
X0Y
user$

它不输出两个换行符。

$ perl -e'
use feature "say";
my $s1  = "X";
my $s2  = "Y";
say join ("0",@{[$s1, $s2]});
' | od -c
0000000   X   0   Y  n
0000004

我确实看到了和你相同的空白行

{1} ikegami@tribble [~]$ perl -e'
use feature "say";
my $s1  = "X";
my $s2  = "Y";
say join ("0",@{[$s1, $s2]});
'
X0Y
{2} ikegami@tribble [~]$

但这是因为我设置了添加空行的提示。

$ echo "$PS1"
[e]0;u@h:wa]n${debian_chroot:+($debian_chroot) }{!} [33[01;32m]u@h[33[00m] [[33[01;36m]w[33[00m]]$
^^

相关内容

  • 没有找到相关文章

最新更新