【Perl】ヒアドキュメントについて

  • 投稿 : 2018-10-10

ヒアドキュメントによる表示

使用しない例

#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html; charset=UTF-8\n\n";

$count = 20;

print "<html>\n";
print "<body>\n";
print "<p>あなたは". $count. " 人目のお客様です</p>\n";
print "</body>\n";
print "</html>\n";

使用例

#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html; charset=UTF-8\n\n";
$count = 20;

print <<EOF;
<html>
<body>
<p>あなたは $count 人目のお客様です</p>
</body>
</html>
EOF

EOFの後ろに改行(LF)が必要です。ない場合は、構文エラーになります。「use CGI::Carp qw(fatalsToBrowser);」を自術してるので、ない場合は、エラーがブラウザに表示されるかと思います。

覚書

○ 指定文字列(ここの例ではEOS)までの間をそのまま出力する。
○ EOS等の文字列は、直近までなのでファイル内で繰り返し使える。
○ "EOS"; のように" "で囲むと、内部の変数を展開して出力。' 'の場合は展開しない。
○ 展開したい変数と地の文字列が引っ付く場合は{ }で囲むと区別される。$name→${name}
Perlのヒアドキュメントの色々 - 道草日記

<< の後に任意の終端識別子を記述すると、次に識別子が出現する位置までをクォートで囲った場合と同様の処理となります。 Perl - ヒアドキュメント

仕様としては上記のようになってるようです。

スポンサーリンク
タグ#Perl