首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Perl的print如何在默认情况下添加换行符?

Perl的print如何在默认情况下添加换行符?
EN

Stack Overflow用户
提问于 2010-05-25 02:40:40
回答 6查看 144.1K关注 0票数 102

在Perl中,我的大多数print语句都采用以下形式

代码语言:javascript
复制
print "hello." . "\n";

有没有一种好的方法来避免把所有讨厌的“\n”都放在那里?

我知道我可以创建一个新函数,比如自动追加\n的myprint,但是如果我可以覆盖现有的print,那就太好了。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-05-25 02:47:51

Perl6具有自动附加\nsay函数。

还可以在Perl5.10或5.12中使用say,如果添加了

代码语言:javascript
复制
use feature qw(say);

到你程序的开头。或者,您可以使用Modern::Perl来获取此功能和其他功能。

有关更多详细信息,请参阅perldoc feature

票数 100
EN

Stack Overflow用户

发布于 2010-05-25 02:50:15

如果不能选择Perl 5.10+,这里有一个简单的近似方法。这并不完全相同,因为当它的第一个arg是一个句柄时,say有一些魔力,但对于打印到STDOUT:

代码语言:javascript
复制
sub say {print @_, "\n"}

say 'hello';
票数 24
EN

Stack Overflow用户

发布于 2010-05-25 02:58:47

您编写print语句的方式是不必要的冗长。没有必要将换行符分隔成它自己的字符串。这就足够了。

代码语言:javascript
复制
print "hello.\n";

这种认识通常会使你的编码变得更容易。

除了使用use feature "say"use 5.10.0use Modern::Perl获得内置的say特性之外,我还将介绍perl5i,它在缺省情况下会打开许多缺少的Perl5特性。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2899367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档