其中一个小烦恼做Perl的编码时,我有是有必要记住的Chomp您从输入读取一行。 是的,经过多年的编码它几乎是自动记住这样做,但仍然讨厌。
是否有任何附注,模块或其他任何在Perl(强烈优选核心单元),该自动每要吃掉线使用读<>
运算符?
其中一个小烦恼做Perl的编码时,我有是有必要记住的Chomp您从输入读取一行。 是的,经过多年的编码它几乎是自动记住这样做,但仍然讨厌。
是否有任何附注,模块或其他任何在Perl(强烈优选核心单元),该自动每要吃掉线使用读<>
运算符?
除此之外,您已经提到的asquerous源过滤器,我怕我不知道作为“黑客”在这里你的目的最重要的。 你认为这些obviousish的解决方案是“黑客”?
*CORE::readline
当前包 *CORE::GLOBAL::readline
所有包 READLINE
方法 <>
运算符 您是否尝试过这些吗?
其中,我想第一个,或者可能是第二个,是最有可能做你想要做文章量最少的是什么。
请注意,这些解决方案的所有四个需要什么,但纯Perl的,没有别的。 他们甚至不要求任何核心模块,更不用说任何CPAN模块。
我想你已经知道这一点,但是当你把命令行选项-nl
在一起,你得到你想要的行为(假设您想隐while(<>)
循环:
$ perl -nle 'printf q{%s}, $_'
通常情况下,两个选项是用来通过运行bash命令行短perl的命令,但我想没有什么能阻止你从脚本做:
#!/usr/bin/perl -nl
# puts the newline back on if you use print:
# print
# does not put the newline back on
printf '%s', $_;
这里的这种行为简述: http://www.perlmonks.org/?node_id=324749