ヒア演算子
長い文字列を一度に扱う
このへんで、Perl言語特有の仕様であり
Perlがテキスト処理言語と呼ばれる由縁とも言える ヒア演算子について触れたいと思います
ヒア演算子は改行も含む長蛇の文字列を一度に扱うのに便利です
<<が ヒア演算子です。一部の言語ではビットシフトなどに使われてるものなので、他言語のプログラマは注意してください
ヒア演算子のあとにキーワードを指定します。 ヒア演算子はその指定キーワードまでを出力します
print <<EOT
この場合はEOTがキーワードになります
EOTである必要はありませんが、一般的にEOTが良く使われます(End Of Textの略)
他のプログラマさんにも読みやすいソースを心がけるのなら、EOTを用いるべきだと思います
この後は指定キーワード(EOT)までの文字列を返します
以下のプログラムを参照してください
print <<EOT
愛情の庭に
種はまいたが
雨は降るのに
花はなかなか…
EOT
;
注意してほしいのですがキーワードの前後に空白やタブは入れられません
そのため終了キーワードの記述部分はどうしても上記のような記述法になってしまいます
実行結果はHTMLの<PRE>のような結果が得られます
ヒア演算子で、変数に文字列を代入することも可能です
また、 ヒア演算子内で変数を参照することも可能です
$name = "マリー";
$str = <<EOT
誘惑の$nameの髪に
口づけを
EOT
;
print $str;
また、 ヒア演算子内であれば""や''もエスケープシーケンスを使うことなく表現できます
ただし\,@,$に関してはエスケープシーケンスを用いなければいけません