首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Perl是否具有与Python的多行字符串等效的功能?

Perl是否具有与Python的多行字符串等效的功能?
EN

Stack Overflow用户
提问于 2010-05-21 02:36:35
回答 4查看 21.7K关注 0票数 22

在Python中,您可以使用文档字符串获得如下所示的多行字符串

代码语言:javascript
复制
foo = """line1
line2
line3"""

Perl中有没有等同的东西?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-05-21 02:45:49

Perl没有明显的语法垂直空格,所以您可以这样做

代码语言:javascript
复制
$foo = "line1
line2
line3
";

这相当于

代码语言:javascript
复制
$foo = "line1\nline2\nline3\n";
票数 35
EN

Stack Overflow用户

发布于 2010-05-21 03:37:15

正常引号:

代码语言:javascript
复制
# Non-interpolative
my $f = 'line1
line2
line3
';

# Interpolative
my $g = "line1
line2
line3
";

这里-docs允许您将任何标记定义为带引号的文本块的结尾:

代码语言:javascript
复制
# Non-interpolative
my $h = <<'END_TXT';
line1
line2
line3
END_TXT

# Interpolative
my $h = <<"END_TXT";
line1
line2
line3
END_TXT

正则表达式样式的引号操作符允许使用几乎任何字符作为分隔符--与正则表达式允许更改分隔符的方式相同。

代码语言:javascript
复制
# Non-interpolative
my $i = q/line1
line2
line3
/;

# Interpolative
my $i = qq{line1
line2
line3
};

更新:更正了here-doc标记。

票数 39
EN

Stack Overflow用户

发布于 2010-05-21 02:40:09

是的,这里有个医生。

代码语言:javascript
复制
$heredoc = <<END;
Some multiline
text and stuff
END
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2876769

复制
相关文章

相似问题

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