green

Lotusnut >> Soft >> CGI/Perl

このサイトの目的

今の時代 Htmlの解説を扱うサイトは数多くあります。ここで同じように詳細な解説のサイトを立ち上げたとしても自分にはそこまでの技術は持ち合わせていません。
ここではHTMLをHP(ホームページ)作成ソフトの代表格「ホームページビルダー」などを使わずにメモ帳などのテキストエディターでHTMLを作る基本的な方法を、これからサイトを立ち上げたいと考えている初心者の方々に提供したいと考えています。
と言っても自分自身は、あのホームページビルダーで今時のサイトをつくるのは逆に苦手で、昔からフリーのメモ帳片手にフリーなサイト転送ソフトを使ってHPを立ち上げました。簡単な基本さえ知ればお高いお金を出さずともフリーソフトで、ホームページが持てますよ。というコンセプトで説明したいとおもっています。ので『そんなめんどくさい事は・・・』とは言わず簡素な方法でサイトを立ち上げる面白さに気づいてくれたら私の役割は終わりです。

メニュー

  1. ■ CGI?
  2. ■ PerlでCGI

■ CGI?

CGIって聞いたことありますか?今の時代はSNS(TwiterやInstagram等)またはTeamsやClassroomなどの大きなプラッドフォームでの会話が主流で掲示板(BBS)と聞くとずいぶん昔話に聞こえてしまうのですが、 それらの高度な仕組みではなく、シンプルにデータのやり取りができることで、一方的な情報の発信になってしまうホームページ等に彩を添える?サイトの構築を目指す1歩ととらえると、今更ながらでも勉強しておくのも有りかなと思うのですが、今の時代どうでしょう?
まあSwift(Macやiphoneのアプリ開発)やPython(パイソン)などの現代的なアプリ開発を使って書くのもありかと思うのですが、少しハードルを低くしてCGIに取り組んでみても・・どうでしょう?

ということで強引にCGIの話を始めます。CGIは一方的な情報の発信だけでなく不特定多数の人からアンケートを取ったりしてそれを集計グラフ化して見せる。や先ほどの掲示板をつかったり、昔よくあったHP訪問者の数を表示するなんてことも担っています。
ここではっきりしておきたいのは、CGIとはプログラムのことではなく、やり取りの総称です。CGIを作るにはこれから紹介する「Perl(パール)」を使って作成します。と言う訳で下記からPerlについて紹介していきます。

ページTOPへ

PerlでCGI

    perlはCGIを作成するための言語ですが、ほぼHTMLを理解できれば簡単な言語です。(正規表現なんかは難しいが手を出さなくて良い・・適当!)要はperlを使ってHTMLに表現できれば良い言語なんです。

    以下は関数の一例です:

    #メイン処理(#以下がコメントになる)
    sub main {        「&」を付けて関数を読み込みます。関数の最後に「;」を付ける
      &header;
      &pass_word;
    }

    #ヘッダー(汎用的な関数を分割して作成しておくと後で再利用できる)
    以下見てわかる通り print分の後は、HTML文そのものです。

    sub header {
      print "Content-type: text/html\n\n";
      print "\n";
      print "$page_title\n";
    }

    #パスワード認証
    sub pass_word{
      &get_cook();          別に作成したクッキーを呼び出す関数
      $user = $COOKIE{'USER'};    「$」を頭につけて変数を宣言
      $pass = $COOKIE{'PASS'};
      $chk = '';
      if ($user ne ''){$chk = 'checked';}

      print <<EOM;         「print <<EOM; 〜 EOM の間は、HTML文そのまんま。
        <body topmargin=50 leftmargin=50><div style="width:380px; ">
        <h2 align="center">メンバーの確認</h2>
        <table width=380 style="border:1px solid #0099CC">
        <tr><td><p align="center">
        <font color="#666666" size=-1>ここからのページは、メンバー専用になります。
        下記認証によりログインください。</font></p>
        <form action=$script method="POST"><table width=360 border=0><tr>
        <td width=100 align="right"><font color="#666666" size="-1">
        ユーザー名</font></td>
      EOM
      print "<td width=250><input type=\"text\" name=\"user\" size=38 value=$user>
      print "</td></tr><tr>\n";
      print "<td align=\"right\"><font color=\"#666666\" size=-1>パスワード</font></td>\n";
      print "<td><input type=\"password\" name=\"pass\" size=25 value=$pass>\n";
      print "<input name=\"okcancel\" type=\"submit\" value=$ok></td>\n";
      print "<tr><tr><td></td><td>
      print "<input type=\"checkbox\" name=\"pschk\" value=\"on\" $chk>
      print "<font color=\"#666666\" size=-1>パスワードを記憶する</font></td>\n";
      print "</tr></table><input type=hidden name=mode value=\"menu\">
      print "</form></td></tr></table>\n";
    }

    おことわり:ただし上記の認証プログラムは利用しないでください。実践で使うとなんだかんだ脆弱すぎるので、perlの勉強程度に留めてください。

ページTOPへ