Pythonでは、docstringを使用してこのような複数行の文字列を作成できます
foo = """line1
line2
line3"""
Perlに同等のものはありますか?
Perlには重要な構文上の垂直方向の空白がないので、次のことができます。
$foo = "line1
line2
line3
";
これは
$foo = "line1\nline2\nline3\n";
通常の引用:
# Non-interpolative
my $f = 'line1
line2
line3
';
# Interpolative
my $g = "line1
line2
line3
";
Here-docsを使用すると、引用されたテキストのブロックの終わりとして任意のトークンを定義できます。
# Non-interpolative
my $h = <<'END_TXT';
line1
line2
line3
END_TXT
# Interpolative
my $h = <<"END_TXT";
line1
line2
line3
END_TXT
正規表現スタイルの引用演算子を使用すると、ほぼすべての文字を区切り文字として使用できます。これは、正規表現で区切り文字を変更できるのと同じ方法です。
# Non-interpolative
my $i = q/line1
line2
line3
/;
# Interpolative
my $i = qq{line1
line2
line3
};
更新:ヒアドキュメントトークンを修正しました。
はい、ヒアドキュメントです。
$heredoc = <<END;
Some multiline
text and stuff
END
はい、2つのオプションがあります:
1.ヒアドキュメントは、ヒアドキュメント内のすべてのデータが補間されることに注意してください:
私の$ data = <
あなたのデータ
終わり
2.qq()例を参照してください:
qq(HTML
$ your text
体
HTML);