【发布时间】:2020-04-07 18:31:37
【问题描述】:
我想计算文件中的行数并打印一个取决于行号的字符串。但是我的while 循环错过了第一行。我相信while (<>) 构造对于增加$n 变量是必要的;无论如何,这个结构在 perl 中不是很标准吗?
如何让while 循环打印第一行?还是我不应该使用while?
> printf '%s\n%s\n' dog cat
dog
cat
> printf '%s\n%s\n' dog cat | perl -n -e 'use strict; use warnings; print; '
dog
cat
> printf '%s\n%s\n' dog cat | perl -n -e 'use strict; use warnings; while (<>) { print; } '
cat
>
> printf '%s\n%s\n' dog cat | perl -n -e 'use strict; use warnings; my $n=0; while (<>) { $n++; print "$n:"; print; } '
1:cat
【问题讨论】:
标签: perl while-loop stdin