第9章
CGIとPerl
プログラム例
- p. 202,プログラム例9-1(Windows用。シフトJISコードのファイル) ― yomigana1.pl。Windowsの場合,リンクをクリックすると,通常,[ファイルのダウンロード]というダイアログボックスが開く。
[保存]のボタンをクリックして,適当な場所(たとえば,c:\programming\chap09)に保存して,Perlで実行して欲しい。
Perlによる実行の方法は,下のPerl実行環境の準備にある。
- p. 202,プログラム例9-1(Mac OS 9あるいはそれ以前のOS用。シフトJISコードのファイル) ― yomigana1.pl。
Mac OSの場合は,通常,ブラウザ内にプログラムのソースコード(プログラムリスト)が表示されるはずだ。自分のコンピュータのディスクに保存する場合は,htmlファイルの保存と同じようにすればよい([別名で保存...]などの項目を選ぶ)。
保存したファイルのPerlによる実行の方法は,下のPerl実行環境の準備を参照されたい。
- p. 202,プログラム例9-1(Mac OS X,LinuxなどUnix系OS用。EUCコードのファイル) ― yomigana1.pl。
通常,ブラウザ内にプログラムのソースコード(プログラムリスト)が表示されるはずだ。自分のコンピュータのディスクに保存する場合は,htmlファイルの保存と同じようにする([別名で保存...]などの項目を選ぶ)。
Perl実行環境の準備(p. 206)
Windowsの場合
WindowsでPerlを実行できるようにするには,以下の手順で行えばよい。
Perlにはいくつかバージョンがあるが,ここではActive Perlという最近よく使われているものをインストールする。
- このページを印刷する。途中で,再起動などの必要があるので,まず,このページを印刷しておいたほうがよいだろう。
- Perlのインストール作業では,Windowsの再起動が必要なので,これまでに作業していたファイルを保存して,自分が起動したすべてのアプリケーションを終了しておく。
- Windows 98あるいはWindows Meを使っている場合は,Windows Installerが必要(Windows XPやNT,2000の場合は不要なので,次のステップへ)。これはhttp://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exeからダウンロード可能。Windows Installerのインストールは次の手順で行う。
- 上のリンクをクリックすると[ファイルのダウンロード]のダイアログボックスが表示されるので,[保存]のボタンをクリックして適当な場所(たとえば,c:\programmingの下)に保存する(ファイル名はInstMsiA.exe)。
- ダウンロードが完了したら,[フォルダを開く]のボタンをクリックして,ダウンロードしたファイル(InstMsiA.exe)のあるフォルダを開く。
- ブラウザを終了する。
- InstMsiA.exeをダブルクリックして,実行する。
- 「システムを再起動する必要がある」というメッセージが表示されるので,[はい]をクリックして再起動する。
- Active Perlのファイルをダウンロードする。下のリンクをクリックすれば直接ダウンロードできる。
http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.631-MSWin32-x86.msi
きちんと登録してからダウンロードするのならば,http://www.activestate.com/ から順番にたどってダウンロードする。ページの右側に,downloadのリンクがあるのでこの中からActive Perlのdownloadのリンクをクリックする(メッセージは英語)。
- 上のリンクをクリックすると,ダウンロードが始まるので,保存場所を指定する(たとえば,c:\programming)。
- ダウンロードが終ったら,[フォルダを開く]のボタンをクリックして,ダウンロードしたファイル(ActivePerl-5.6.1.631-MSWin32-x86.msi)のあるフォルダを開く(ファイル名は新しく変わっている可能性もある)。
- ダウンロードしたファイル(執筆時点ではActivePerl-5.6.1.631-MSWin32-x86.msi)をダブルクリックして起動する。
- 「ActivePerl 5.x.x Build xxx Setup」のウィンドウが開くので,内容を一応確認したら[Next]のボタンをクリックする操作を(現在のバージョンでは4回)繰り返して,右下に[Install]のボタンが表示される画面に移動する(ある程度Windowsのことを知っていて設定を変えたい場合は適当に変えてもよいが,その場合は,以下の説明の該当部分を必要に応じて読み変えること)。
- [Install]のボタンをクリックして,インストール作業を開始する(最後の段階でかなり時間がかかるが,そのまましばらく待つ)。
- [Finish]のボタンをクリックして終了する。
- 「再起動しなければいけない」という旨の英語のメッセージが表示されるので,[Yes]をクリックして再起動する(メッセージの表示とほぼ同時にブラウザに「User Guide」が表示される。英語が読めればざっと読んでから,ブラウザのウィンドウを閉じれば,「再起動しなければいけない」のメッセージが見える)。
- 再起動してWindowsの画面が表示されたら,
[スタート]メニューから[プログラム] ― [アクセサリ] ― [コマンド プロンプト](Windowsのバージョンや設定によっては[MS-DOS プロンプト])の順に選んで,「コマンド プロンプト」(あるいは「MS-DOSのプロンプト」)を実行する。
Windows XPの場合には,[スタート]メニューから[プログラム] ― [すべてのプログラム] ― [アクセサリ] ― [コマンド プロンプト]の順に選ぶ(標準設定の場合)。これで,下図のような感じの[コマンド プロンプト]のウィンドウが表示される。
- まだ,ダウンロードしてない場合,このページの一番上を見てyomigana1.plをダウンロードして,ディスクに保存する。たとえば,c:\programming\chap09の下に保存する。
- 「コマンド プロンプト」のウィンドウで,yomigana1.plを保存したフォルダに移動する。
上でc:\programming\chap09の下(cドライブのprogrammingというフォルダの下のchap09というフォルダの下)に保存したならば,次のように入力してEnterキーを押せばよい。
cd \programming\chap09 ← 最後にEnterキーを押す
次のコマンドを入力して,yomigana1.plというファイルが表示されれば,目的のフォルダ(ディレクトリ)に移動できている(Windows 98などでは,左側にYOMIGA~1.PLなどのように表示され,右側にyomigana1.plと表示される。
dir ← 最後にEnterキーを押す
- 次のコマンドを入力して,yomigana1.plを実行してみる。
perl yomigana1.pl
- 仮名漢字変換(FEP)を有効にして,「山」と入力してEnterキーを押す。「やま」と表示されればOK。他の漢字も試してみる。
- Ctrl(あるいはcontrolの)キーを押しながらZのキーを押して,プログラムを終了する。
実行の様子を下図に示す。
Mac OS Xの場合
Mac OS Xの場合は,既にPerlは使えるようになっている。
ただし,現状ではTerminalというアプリケーションが日本語に対応していないため,簡単に例題を試すことができない。
当面,一番簡単なのは,以前のOSと互換性をもつ「Classic(クラシック)環境」で動く「Mac Perl 五」を使うことだ。
その説明は,Mac OS 9あるいはそれ以前の場合の説明を参照して欲しい.
初心者には,少し敷居が高いかもしれないが次の手順に従って,JTerminalというプログラムを使えるようにすれば,Mac OS Xでもこの章の例を試すことができる。
- まず,開発者用の環境をMacにインストールする
(JTerminalを動くようにするには開発環境を使って,自分でプログラムをコンパイルする必要がある)。このためには,Mac OS XのCD-ROMについている「Developper Tools」というCD-ROMを使って,開発環境をインストールする。このCD-ROMをドライブに入れると,インストーラのアイコンが表示されるので,それをダブルクリックして手順に従ってインストールする(管理者用のパスワードを入力する必要がある。この方法が分からないようならば,ここでストップして,下のMac OS 9あるいはそれ以前の場合を参照して,「Mac Perl 五」を利用することを勧める)。
開発環境のインストールが終ったら,Mac OSを再起動する。
- JTerminalのソースコード(プログラム)を入手する。KusamaさんのホームページからJTerminalプログラム一式をダウンロードする(執筆時点では,「バージョン 0.3.11 2002/4/21」が最新。このバージョンのソースへのリンクがKusamaさんのページの下の方にある)。
適当な場所に保存すると,通常はStuffIt Expanderが自動的にに起動して,ファイルを展開してくれる。JTerminalというフォルダができたことを確認する。
- JTerminalというフォルダの中にあるJTerminal.pbprojをダブルクリックして,Project Builderを起動する(起動しないようならば,開発者用のツールがきちんとインストールできなかった可能性が高いので,もう一度CD-ROMからインストールしてみて欲しい)。
- [ビルド]メニューから[ビルド]という項目を選択する。これで,画面上にメッセージが表示されながら,コンパイルが行われれる。ウィンドウ左下に「Compiling XXX」といったメッセージが表示され,しばらくすると「ビルドは問題なく完了しました」というメッセージが表示される。
- JTerminal.pbprojと同じフォルダにbuildというフォルダがあり,そこにJTerminalという名前のファイルができていることを確認する。
- JTerminalをcontrolキーを押しながらマウスでクリックし,表示されるメニューから「"JTerminal"をコピー」を選択する。
- (ファインダの「A」の字のアイコンをクリックして)Applicationsフォルダに移動し,controlキーを押しながらマウスをクリックして表示されるメニューから「項目をペースト」を選択して,JTerminalをApplicationsフォルダにコピーする。
- コピーしたJTerminalをダブルクリックして起動する。
- まだ,ダウンロードしてない場合,このページの一番上を見てyomigana1.plをダウンロードして,ディスクに保存する。たとえば,Home(家のアイコンを押したときに移動するフォルダ)の下のprogrammingフォルダの下のchap09の下に保存する。
- JTerminalでyomigana1.plを保存したフォルダ(ディレクトリ)に移動する。Homeの下のprogrammingフォルダの下のchap09の下に保存した場合,次のようにコマンドを入力すればよい。
cd ~/programming/chap09 ← 最後にreturnキーを押す
ここで,「~」はHome(Unixの言葉で言うとホームディレクトリ)を表す。
したがって,上のコマンドで,Homeフォルダの下のprogrammingフォルダの下のchap09フォルダに移動することになる。
- 次のコマンドを入力して,yomigana1.plというファイルが表示されることを確認する。
ls ← 最後にreturnキーを押す
ここで,lsはlist(「リストする」「列挙する」の意)を省略したもので,ファイルやディレクトリ(フォルダ)をリストするコマンド。
- 次のコマンドを($や#などのプロンプトの後ろに)入力して,yomigana1.plを実行してみる。
perl yomigana1.pl ← 最後にreturnキーを押す
- 仮名漢字変換(FEP)を有効にして,「山」と入力してEnterキーを押す。「やま」と表示されればOK。他の漢字も試してみる。
- control(あるいはCtrl)のキーを押しながらDのキーを押して,プログラムを終了する。
実行の様子を下図に示す。
Mac OS 9あるいはそれ以前の場合
Mac OS 9あるいはそれ以前のOSでPerlを実行できるようにするには,以下の手順に従えばよい(Mac OS XのClassic環境で「Mac Perl 五」を使う場合も同様)。
- http://world.std.com/~habilis/macjperl/MacJP5.j.htm
から「MacJPerl 5.2 ダウンロード」という項目の横にあるリンクをクリックして,プログラムをダウンロードする。標準の設定ではStuffIt Expanderが起動して,ひとつにまとまっているファイルを,実行時に使用される複数のファイルに「展開」してくれる。
保存場所を聞かれたら,適当な場所(たとえば,ApplicationsあるいはApplications (Mac OS 9))を指定して保存する。
- 指定した場所にMacJPerl 5.2.0r4 J1というフォルダができており,そのフォルダの中にMacJPerlというファイルがあることを確認する。
- まだ,ダウンロードしてない場合,このページの一番上を見てyomigana1.plをダウンロードして,ディスクに保存する。たとえば,ディスクの一番上のprogrammingフォルダの下のchap09の下に保存する。
- MacJPerlをダブルクリックして起動する。MacJPerlのラクダのアイコンが画面右上に表示され,「ファイル」「編集」「スクリプト」などのメニュー項目が並ぶ。
- [スクリプト]メニューから[選んで実行]を選択する。
- ファイルを指定するダイアログボックスが表示されるので,yomigana1.plを保存した場所に移動して,yomigana1.plを指定する(yomigana1.plがこのダイアログボックスに表示されない場合は,一度キャンセルして,このStuffIt Expanderのファイルをダウンロードして,展開されてできるyomigana1.plを指定する)。
- yomigana1.plのプログラムの実行が開始されるので,仮名漢字変換(「ことえり」など)を有効にして,「山」と入力してEnterキーを押す。「やま」と表示されればOK。他の漢字も試してみる。
- control(あるいはCtrl)のキーを押しながらDのキーを押して,プログラムを終了する。
実行の様子を下図に示す。
LinuxなどMac OS X以外のUnix系のOSの場合
本文に書いたようにPerlは標準で使えるようになっているはずだ。
p. 206の一番下の説明やp. 207の「Perlプログラムの実行」の節を読んで試して欲しい。
プロバイダと契約(p. 207)
インターネットを利用するためには何らかの形でプロバイダと契約する必要があるので,このページを見ているということは読者あるいは読者の属する組織が既にプロバイダと契約しているということになる。しかし,たんにプロバイダと契約してもPerlが使える環境は利用できない。Perlを使うためには「shellが使えるプロバイダ」と契約する必要がある。
筆者が以前から利用しているのはリムネットのサービスだ。このほかshellが使えるプロバイダのリストは,たとえば『インターネットマガジン』のプロバイダガイド ( 「フォーム入力一発検索」 で「シェルサービスあり」をチェックして検索すればよい)などに載っている。
入会
サービスを利用するには,まずはプロバイダに入会する必要がある。
リムネットのホームページを見れば,「今すぐ入会」などといったリンク(ボタン)があるはずだ。サービス案内を見ればわかるように,shellを使うためには一番やすい200円コースではダメで,1800円コース以上に入る必要がある。リムネットの場合,1800円コース以上ならば,無料でshellサービスは付いてくるが,利用したい旨を申し込む必要がある。
telnetを使って接続
契約と利用の申し込みが済んだらtelnetというソフトを使ってプロバイダのコンピュータに接続すれば,shellが利用できる。Windowsでも,Mac OS Xでも,Unix系のOSでも,コマンドプロンプトあるいはTerminalから次のようにコマンドを入力すればよい。
telnet <ホスト名>
<ホスト名>の所には,プロバイダから指定された「ホスト名」あるいは「ホストアドレス」を指定する。しばらくすると,ユーザー名を入力するプロンプト(login:)が表示されるので,ユーザー名を入力してEnterあるいはreturnキーを押す。続いて,パスワードをきかれるので,パスワードを入力する。
ここから先はUnix(ユニックス)の世界に入る。本文(p. 207)に少し説明があるように,Perlのプログラムを実行するには,次のように入力すればよい。
perl <ファイル名>
Unixの使い方がわかれば,いろいろと面白いことができるが,説明を始めると本が1冊(以上)書けてしまうので,さらに詳しくは,筆者らの訳した『Unix入門』などを参考にして欲しい。