Вам, вероятно, понадобится 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
может только внести путаницу в потенциальных ответчиков)