【问题标题】:Prevent perl script from new line防止新行的 perl 脚本
【发布时间】:2020-04-18 23:15:57
【问题描述】:

我有一个 Perl 脚本:

 $i=0;

 while ( ($num = <STDIN>) =~ /\S/ ) {    
     push @lines, $num; $i++;
     print ("$num"x"$i")."\n";
 }

它打印这个:

3
3
4
4
4
5
5
5
5

但我希望它打印这个:

3 
3
4
4 4
5
5 5 5

如何防止 Perl 在每次打印后打印新行? 这个方法我试过了,在代码sn-p中可以看到:

$num x $i

【问题讨论】:

    标签: perl variables newline


    【解决方案1】:

    您可能需要chomp($num);,它将删除$num 末尾的输入换行符。

    my $i=0;
    while ( (my $num = <STDIN>) =~ /\S/ ) {
      chomp($num);
      $i++;
      print "$num " x $i, "\n"
    }
    

    或者你可以:

    print "$& " x ++$i, "\n" while <STDIN>=~/\d+/;
    

    (另外,在询问代码问题时,您应该删除示例以仅包含相关内容。您的 push @lines, $num 只会混淆潜在的回答者)

    【讨论】:

    • 谢谢!我添加了那个 sn-p 因为我不知道这是否会导致我的打印出现任何问题。
    猜你喜欢
    • 2018-02-08
    • 2015-02-10
    • 2010-11-19
    • 2015-01-25
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 2022-10-18
    相关资源
    最近更新 更多