小编YMO*_*MOZ的帖子

在 Perl 中读取 stdin 需要在输入周围换行。如何避免?

MSG_OUT="<B><I>Skipping<N> all libraries and fonts...<N>"

perl -ne '%ES=("B","[1m","I","[3m","N","[m","O","[9m","R","[7m","U","[4m"); while (<>) { s/(<([BINORSU])>)/\e$ES{$2}/g; print; }'
Run Code Online (Sandbox Code Playgroud)

这个 Perl 单行代码将标记替换为转义序列。
它按预期工作,但前提是输入被换行符包围。

IE

echo "\x0a${MSG_OUT}\x0a" | perl -ne '.... etc.
Run Code Online (Sandbox Code Playgroud)

从 stdin 读取时如何避免此问题?

perl

5
推荐指数
1
解决办法
95
查看次数

标签 统计

perl ×1