RubyCGI.org

RubyでCGIを作ろう


4章4節 コマンド出力を使ってカレンダー 更新日付: [2002-05-17]



今回はまったく別のアプローチでカレンダーを作ってみます。しかしこれはcalというプログラム(標準的なUNIXには付いている)を利用するのですべての環境でうまくいくとは限りません。


-- プログラム 始まり -- test441.cgi

#!/usr/local/bin/ruby
print "Content-type: text/html\n\n"

cal_output = `cal`

print "<html><body>\n"
print "<pre>#{cal_output}</pre>\n"
print "</body></html>\n"

-- プログラム 終わり --


test441.cgiを作成して実行してみましょう。簡単なカレンダーが表示されたでしょうか?
このプログラムはUNIXのcalコマンドを利用しているためにcalコマンドを備えたUNIX上でしか動きません。calコマンドを備えているのに動かない場合はまずシェル上で which cal と入力して、その出力結果を4行目の``で囲われた中に入れてください。

それではプログラムを説明します。

1,2行目はお決まりです。
4行目はcalコマンドを実行し、その出力結果をcal_outputという変数に入れています。
6〜8行目はHTMLの出力です。

CGIから他のプログラムを呼び出すことでこんなに簡単にカレンダーが出来てしまいました。別にcalコマンド以外でも呼び出すことは可能です。

例えば4行目を

cal_output = `man cal`

とすればcalのマニュアルを見ることが出来ます。このようにCGIから他のプログラムを呼び出しその出力を表示させることが可能です。

次回はカレンダーをもう少し派手な形にして出力できるようにしカレンダーを完成をしたいと思います。


今回始めて使った命令など
コマンド出力

RubyによるCGIプログラミング
RubyによるCGIプログラミング

<− 前へ : 4.3. とりあえずカレンダー | 次へ : 4.5. カレンダー完成 −>

RubyでCGIを作ろうトップ

| トップページ | 書籍「Ruby/GTKプログラミング入門」 | 書籍「RubyによるCGIプログラミング」 | RubyでCGIを作ろう | リンク集 | ツールなど | 自己紹介 |