Perlコーディング

print文とヒアドキュメント

2007年11月17日
ファイルに書き込むときは
 print FILEHANDLE "書き込む内容";
とprint文にファイルハンドラを続けて書き、ファイルに書き込みました。

ファイルハンドラを指定しなければ、標準出力されます。ブラウザから呼び出されていればブラウザに、コマンドプロンプトから呼び出されていればコマンドプロンプトに出力されます。


このprint文を使って、ブラウザに文字を表示します。
たくさん文字を表示したいときは、ヒアドキュメントを使うと便利です。

 print <<EOT;
 出力したい文字列
 EOT

こうかくと、<<EOT;とEOTで囲まれた文字列が出力されます。出力したい文字列は【"】や【'】で括る必要はありません。なので、【"】を出力させたい場合、【\】でエスケープする必要もありません。便利ですね。

ヒアドキュメントはprintだけでなく、変数に文字を代入するときも使えるそうです。
 $hensu = <<EOT;
 代入したい文字列
 EOT



ところが、このprintとヒアドキュメントに随分悩まされました。なかなか表示されなかったのです。結局、EOTの前にタブを入れていたのが原因だったようです。こんなことで・・・


<<'EOT';
とすると、出力したい文字列の中に変数があっても、その値を出力しなくなります。
例えば、$hensuに"変数"という文字が代入されていたとします。

 print <<EOT;
 $hensu
 EOT
の場合は、【変数】と表示されます。

 print <<'EOT';
 $hensu
 EOT
とすると、【$hensu】と表示されます。


<<`EOT`;
とすると、文字列をコマンドとして実行し、結果を返してくるそうです。


知らなかったのですが、PHPでもヒアドキュメントは使えるそうです。
PHPの場合、
 print <<< EOT
 出力したい文字列
 EOT;
です。perlとは少し構文が異なります。
コメントの書き込み
コメント
2018年04月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
先月
来月
カテゴリ
検索
関連サイト
プロフィール
【ネットネーム】
みゅー

キャラクター by ツカエルサイト


【趣味】
・プログラミング
・写真
・楽器演奏
・手芸
・日曜大工
・家の中の不便を便利に
・考える
・自然科学
・猫と戯れる
・ジグソーパズル

【仕事】
・派遣社員でSE・PGやっていました。次の良い仕事がみつからないので、ビジネスへ注力しようと思っています。
・経験言語:VB6、VB.NET、PHP、Perl、JAVA、Oracle、SQLServer、PostgreSQL



【名前】
アン(足)

2014年4月22日生まれ 女の子
あだ名は くノ一
普段は普通にしゃべりますが、興奮すると『ニャ』を連発します

【趣味】
・狩
・ご飯を食べる
・ママのお手伝い

【仕事】
ママのビジネスの看板招き猫
ママの代わりにPC入力
仕事中のママの右腕を温める
ママに心配をかける
いろんな事をしでかしてママを退屈させない

RSSフィード