ヒアドキュメントの記法は 複数行にわたる文章を出力するのに便利である. 下のプログラム部分を 実行してみよ.
print <<Section1; This is the first line. This is the second line. Section1
この例の Section1 の部分の文字列を終端文字列という. 終端文字列は変数名と同様,ユーザが決める. print <<Section1 の次の行から引用が始まり, 引用開始に使った終端文字列だけからなる行があると, そこで引用は終了する.
デフォルトでは二重引用符と同じ引用となり,変数展開が行なわれる. 終端文字列を一重引用符で囲むことで一重引用符と同じ引用ができる. 二重引用符を明示的に指示することもできる. 次のプログラム部分を実行し,違いを確かめよ.
$a = "llama"; print <<"Section1"; The valiable is $a. Section1 print <<'Section2'; The valiable is $a. Section2
HTML 文書の生成など, 複数行に渡る文字列を出力する場合,個別の print 文を 書き連ねてもよいが,ヒアドキュメントを利用することもできる. 使いやすい方を利用せよ.
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">\n'; print '<html lang="ja">\n'; print '<head>\n';
print <<'Section1'; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head> Section1
変数展開を行いたい場合は 2 重引用符による引用を 行う必要があるが,$ などの文字をエスケープしなければならない ことに注意せよ.
my $repno = 1; print "<title>shortreport $repno \"here-document\"</title>";
課題「htmlの生成」 を読んで課題7を提出しなさい.