初歩から始める初心者向け
Perl-CGI
講座
■
|
トップページ
|
CGI
設置
|
CGI
作成
|
作成事例
|
設置用語
|
作成用語
|
関数リファレンス
|
FAQ
|
お問合せ
|
CGI
の設置方法
フリーで配布されている
CGI
を設置する際の手順や注意事項などの説明です。
CGI
作成の初歩
初めて
CGI
を作る方向けの手順を簡単な例で説明しています。
CGI
作成ヒント集
こういう事をする時は、どのように行えばいいのか?など具体的な事例を紹介します。
CGI
の設置に関する用語
CGI
の作成に関する用語
CGI
の設置や作成時に使われている用語や関連知識を掲載しています。
設置に関するFAQ
作成に関するFAQ
設置や作成をする際に起こりがちなトラブルの説明と、よくある質問とその回答を掲載しています。
置換え後の式にサブルーチンの戻り値を使う
s/パターン/置換え後式/
e
置換えのオプションで e を指定すると置換え後の文字を式で与える事ができます。
eオプションを付けた場合、置換え後の式部分は実行され、その結果で置き換える
という流れになりますのでサブルーチンなどを呼び出し、戻り値で置き換えるという
処理ができます。
下の例ではマッチした数字部分を日時整形用のサブルーチンを使って整形した戻り値に
置換えを行っています。
#!/usr/local/bin/perl #対象の文字列 $mozi = '日時は1097137571です'; #マッチした部分をサブルーチンに渡し、戻り値で置き換える $mozi =~ s/(\d+)/&settime($1)/eg; #完了メッセージを表示する print "Content-type: text/html\n\n"; print "<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n"; print $mozi; exit; #日時整形用のサブルーチン sub settime { my ($intime) = $_[0]; ($sec,$min,$hour,$mday,$mon,$year,$wno) = localtime($intime); @wdays = ('SUN','MON','TUE','WED','THU','FRI','SAT'); $nitizi = sprintf("%04d/%02d/%02d(%s) %02d:%02d",$year+1900,$mon+1,$mday,$wdays[$wno],$hour,$min); return $nitizi; }
下の例では 〜点 という部分を取出し、サブルーチンで点数によって条件判断し、色などを変更して、
100点の場合は 100点満点 など表示する文字を変更しています。
#!/usr/local/bin/perl #対象の文字列 $mozi = 'あなたの点数は85点です。'; #マッチした部分をサブルーチンに渡し、戻り値で置き換える $mozi =~ s/(\d+)点/&keisan($1)/eg; #完了メッセージを表示する print "Content-type: text/html\n\n"; print "<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n"; print $mozi; exit; #計算用のサブルーチン sub keisan { my ($suuzi) = $_[0]; if ($suuzi < 10) { $suuzi = "<FONT color=blue>$suuzi点</FONT>"; } elsif ($suuzi < 90) { $suuzi = "<FONT color=green>$suuzi点</FONT>"; } elsif ($suuzi == 100) { $suuzi = "<FONT color=red><B>$suuzi点満点</B></FONT>"; } else { $suuzi = "<FONT color=red>$suuzi点</FONT>"; } return $suuzi; }
関連項目
・
CGI
の作成に関する用語
・
CGI
作成に関するFAQ
Beginner's CGI
- Copyright (C) 2003 aimix. All Rights Reserved -