在Perl中,我的大多数print
语句都采用以下形式
print "hello." . "\n";
有没有一种好的方法来避免把所有讨厌的“\n”都放在那里?
我知道我可以创建一个新函数,比如自动追加\n的myprint
,但是如果我可以覆盖现有的print
,那就太好了。
发布于 2010-05-25 02:47:51
Perl6具有自动附加\n
的say
函数。
还可以在Perl5.10或5.12中使用say
,如果添加了
use feature qw(say);
到你程序的开头。或者,您可以使用Modern::Perl来获取此功能和其他功能。
有关更多详细信息,请参阅perldoc feature。
发布于 2010-05-25 02:50:15
如果不能选择Perl 5.10+,这里有一个简单的近似方法。这并不完全相同,因为当它的第一个arg是一个句柄时,say有一些魔力,但对于打印到STDOUT:
sub say {print @_, "\n"}
say 'hello';
发布于 2010-05-25 02:58:47
您编写print语句的方式是不必要的冗长。没有必要将换行符分隔成它自己的字符串。这就足够了。
print "hello.\n";
这种认识通常会使你的编码变得更容易。
除了使用use feature "say"
、use 5.10.0
或use Modern::Perl
获得内置的say
特性之外,我还将介绍perl5i,它在缺省情况下会打开许多缺少的Perl5特性。
https://stackoverflow.com/questions/2899367
复制相似问题