【Perl】ヒアドキュメント中に関数実行
Perlコーディングの際、ヒアドキュメントの中で関数を実行し、結果を表示させる方法。忘れないためのメモです。
ヒアドキュメント
ヒアドキュメントは複数行の文字を表示するのにとても便利です。
my $title = "タイトル";
print << "END_OF_HTML";
<html>
<head>
<title>$title</title>
</head>
<body>
<h1>$title</h1>
</body>
</html>
END_OF_HTML
END_OF_HTMLからEND_OF_HTMLまでの間を標準出力へprintできます。"END_OF_HTML"のようにダブルクォーテーションで括っているので変数($title)は展開されて「タイトル」の文字が表示されます。
@{[ 関数名 ]}
ヒアドキュメント中で無ければ下記のようにprint文の中で関数を実行して結果を表示させるのは簡単です。
print "<title>" . myfunc() . "</title>\n";
ヒアドキュメントの中では@{[ myfunc() ]}のように書けば実行することが出来ます。
print << "END_OF_HTML";
<html>
<head>
<title>@{[ myfunc() ]}</title>
</head>
<body>
<h1>@{[ myfunc() ]}</h1>
</body>
</html>
END_OF_HTML
${ 変数名 }
上記の@{[ 関数名 ]}と似た記法で${ 変数名 }という書き方があります。変数名の切れ目が分かりにくいときに使います。
print "$title_A\n"; # -> $title_Aという変数を展開しようとする
print "${title}_A\n"; # -> $titleという変数に"_A"という文字が追加されて表示される
Anja-#pray for ukraine# #helping hands# stop the warによるPixabayからの画像を使用しています。
ディスカッション
コメント一覧
まだ、コメントがありません