★ 

インデックス

 ★
★ 

プログラムの説明

 ★

CGIスクリプトの配布とプログラミングの説明

 RSS XML
  • 玄関口
  • 占い診断
  • 萌え辞典
  • オタク遊戯
  • ネット小説
  • NEW秋華
  • CGIDL
  • CGI解説
--☆INFORMATION☆--
2017年6月6日【火】20時29分41秒
【(*´ω`*)】CGIの更新は現在無期限休止中です‥‥
2014年11月6日【木】13時47分00秒
【(*´ω`*)】確率収束診断スクリプト作りました!
2013年12月24日【火】17時47分50秒
【(*´∇`*)】最近ちょっとプログララマーに戻ってます♪
2013年11月4日【月】19時41分23秒
【(´・ω・`)】現在新しいCGIの作成は行っていません。
2013年1月7日【月】16時12分36秒
【(*´ω`*)】サイトをリニューアルしました。他も徐々に変更中です‥‥
--☆HOTLINK NOW☆--
【Kindle】電子書籍販売★秋華★
【楽天kobo】電子書籍販売★秋華★
【パブー】電子書籍販売★秋華★
CGI無料レンタルサーバ紹介
秋華エントランス

CGIスクリプト基本 [HTML]

さて次は、もう少し簡単にHTMLを表示する方法を書きます。
前々回に、出力(表示)には、

print "この部分が表示";

という具合に、print の後の、" と " の間の文字列が表示されると書きましたが、たとえばHTMLのタグの中には、href="http://syuka.com" のように、" が含まれる記述が有ります。
このような場合、最初の " から、次の " の間の文字列だと判断し、その後はゴミになり、プログラムが正しく実行できません。
この場合、エスケープキャラクタと呼ばれる、文字を制御する文字、\ を利用します。
たとえば以下のように記述します。

print "<FONT COLOR=\"#FF0000\">こんにちはw</FONT>";

" の前に、\ を入れる事で、\ の後の1文字は、文字として扱うようにする事ができます。
これは Perl の基本的な事ですが、print を何行も書いて、HTMLを書くのは凄く骨が折れると共に、" があるたびに \ を入れるのも面倒です。
そこで、とても楽で、HTMLで書いたページのソースを、そのまま利用できる記述方法があります。
私もこの書き方を知ってから、凄くCGIを書くのが楽になりました。
それが、以下のような書き方です。

print <<END_OF_HTML;
この間に、何行使ってもかまわないので、全てのHTMLを記述。
END_OF_HTML

これは、print の後に、<< を書いて、その後に適当な文字列を書き、最後に ; で締めくくります。
それ以下、適当な文字列が書いてあるところまで、文字列表示する記述方法です。
print 等の命令文字列を、関数と言いますが、適当な文字列は、関数に無い、更にはHTMLにも使用されないものを利用するようにしてください。
使ったらどんな事になるとか、私自身試した事はないですが、プログラムを書く上で昔から避けるよういわれているので、私も無意識にやってきた事ですので。
この記述では問題無いかもしれませんが、プログラムの誤作動を起こす場合もあると思われます。
では、この方法で、以下に簡単なホームページを表示するCGIを書いてみます。

#! /usr/local/bin/perl
print "Content-type: text/html; charset=UTF-8\n\n";
print <<END_OF_HTML;
<html>
<head>
<title>ぼくのホムペ</title>
</head>
<body bgcolor="#FFDDFF">
<font color="#007777">いらっしゃいませw</font><br>
ぼくのホームページだよ♪
</body>
</html>
END_OF_HTML
exit;

上記のように書けば、ホームページのひとつのページが表示されます。
でも、上記のような表示をするだけなら、CGIを利用する必要がありませんね。
次は、もう少しCGIならではの事を書きたいと思います。
【<┃】 【┃┃】 【┃>】
このエントリーをはてなブックマークに追加
ドクダミ
Ver.5.00 CGIフリー配布サイト