職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

CGIのif・forの例文

2018年02月28日 | perl
CGIのif・forの例文


【環境条件】
Eclipse 4.4(ルナ)
XAMPP 1.8.3 
Perlは既にインストール済み
CGIを使用する時は、必ずApachを起動する

【CGIスクリプト】
ブラウザ


スクリプト


【解説】
1.rand 関数
$n1 = int(rand 6) + 1;のrand関数は0以上 6未満のランダムな数を返し、int 関数は小数点以下を切り捨てて整数を返す関数

2.繰り返し処理 (for ループ)
for ループ文の書式
for ( ループに入る時の初期設定; ループ継続条件; ループ1回毎の処理 ) { 処理; }

for ($s1 = '', $i = 0; $i < 4; $i++) はループに入る時の初期設定 として、「$s1 = '', $i = 0 」 と設定している。
「$i < 4 」はループ継続条件 で、これを満たしている間は、{$s1 = $s1 . '●'; }の処理を実行する。{ $s1 = $s1 . '●'; }の「.」は文字列結合演算子で、$s1と●を結合している。
この処理を終了後、$i++を実行し、$iが4以上に成ったら終了

3.条件分岐 (if 文)
if ($n1==4) { $msg .= '散歩中に犬に襲われる危険あり。注意しましょう。'; }
elsif ($n1==1 or $n1==6) {$msg .= '今日はきっと幸運に恵まれます。'; }
else { $msg .= '運気上昇の兆しあり。頑張りましょう。'; }

$n1==4なら、$msgに「散歩中に犬に襲われる危険あり。注意しましょう。」
$n1==1 or $n1==6なら、$msgに「今日はきっと幸運に恵まれます。」を代入
それ以外なら、$msgに「運気上昇の兆しあり。頑張りましょう。」を代入
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

時刻で変化する画面--CGI

2018年02月24日 | perl
時刻で変化する画面--CGI

【環境条件】
Eclipse 4.4(ルナ)
XAMPP 1.8.3 
Perlは既にインストール済み
CGIを使用する時は、必ずApachを起動する

【時刻で変化する画面】
■ブラウザ画面



□CGI スクリプト「time.cgi 」


【解説】
1)配列の宣言と初期化
my @msg = ('ぐーぐー', 'おはよう', 'こんにちは', 'こんばんは');←宣言と初期化をしている。
@msg は 配列を示す。更に、@msg 配列の4要素は$msg[0]、$msg[1]、$msg[2]、$msg[3] として表せられる。よって
$msg[$n1]の$n1 が 1 であれば、 $msg[1] は 'おはよう' ですから、「おはよう」が表示される。

2)時間処理の関数
配列をリスト形式で受け取る
($sec, $min, $hour, $day, $mon, $year, $wkday) = localtime(time);
localtime()はtime関数形式の時間をローカル時間に変換している

「月」 は 0~11 の数字で表されており、「曜日」 は 0~6 の数字で表されていることです。日本では、1月、2月、・・・ また 日曜、月曜、・・・ といいますが、英語圏では、Jan, Feb, ・・・ また Sun, Mon, ・・・ というように呼び方が異なるため、ユーザー側で任意に処理できるように数字で返しているのです。日本では 「月」 を数字で表しているので、 $mon++; でインクレメント演算するだけで済みます。「曜日」 を表すのはすこし厄介で、配列 @youbi を定義して、$wkday が 0 であれば$youbi[$wkday] で '日' を表すようにしています

「年」 は、1900 を足したときに西暦となる数字が返されます。そのため、11行目で $year += 1900; の演算を行っています。

3) int 関数
$n1 = int($hour/6); について
$hour は、現在の時間を表す 0~23 の何れかの値です。この $hour を 6 で割る演算を $hour/6 で行い、その演算結果を int 関数に引数として渡す。 int 関数は、与えられた引数の小数点以下を切り捨てて整数を返し、値は変数$n1 に代入される。

4)ヒアドキュメント
print <
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

CGIの書き方/perl

2018年02月22日 | perl
CGIの書き方/perl


【環境条件】
Eclipse 4.4(ルナ)
XAMPP 1.8.3 
Perlは既にインストール済み
CGIを使用する時は、必ずApachを起動する

参照サイト→Perl/CGIの基礎講座

【HTMLを表示するCGIプログラム】
「html.cgi」のプログラム

#!/usr/local/bin/perl← Perl のパス指定

# CGI ヘッダー
print "Content-type: text/html\n\n";←"Content-type: text/html\n\n"の\nはメタ文字

$ttl = 'HTMLの出力'; ←変数

# HTML の出力
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
print "<html>\n";
print "<head>\n";
print "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">\n" ;
print "<title>$ttl</title>\n";
print "</head>\n";
print "<body>\n";
print "<h1>$ttl</h1>\n";
print "<p>こんにちは。これはCGIスクリプトで出力したHTML文書の例です。</p>\n";
print "</body>\n";
print "</html>";

【注意】
1)#!/から始まるPerl のパス指定はperl.exeがある所にパスを通す
2)必ず、# CGI ヘッダー(print "Content-type: text/html\n\n")を書いた後は一行空ける

実行

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

EclipseでperlのCGIを開発するには

2018年02月09日 | perl
EclipseでperlのCGIを開発するには


【環境条件】
Eclipse 4.4(ルナ)
XAMPP 1.8.3 
Perlは既にインストール済み
CGIを使用する時は、必ずXAMPPのApachを起動する事
参照サイト→小粋空間

【CGIを作成する】
1、プロジェクト「perl_cgi」を作る


2、プロジェクト「perl_cgi」の下にファル「sample1.cgi」作る



3、ファル「sample1.cgi」をクリックしてプログラムを書く

【プログラム内容】
Shebang 行(シーバン行)←perl.exeにパスを通す(自分の環境に合わせるか、usr/bin/perlを作るか)

#!usr/bin/perl
print "Content-Type: text/html; charset=UTF-8\n\n";
print "<html>";
print "<head><title>サンプル</title></head>";
print "<body>";
print "

初めてのCGI。

";
print "</body>";
print "</html>";
exit;

4、実行
「sample1.cgi」ファイルを右クリックし、そのメニューから「実行」→「実行の構成」をクリックする


5、「実行の構成」の設定
「Perl CGI」をダブルクリックする


6、「メイン」タブの設定
「メイン」タブの「名前」と「プロジェクト」を設定する
名前→適当
プロジェクト→「参照」ボタンを押してプロジェクト「perl_cgi」を選ぶ



7、「Web サーバー」タブの設定

・HTMLルート・ディレクトリー:C:\xampp\htdocs\perl_cgi
・HTML開始ファイル:C:\xampp\htdocs\perl_cgi\sample1.cgi
・CGIルート・ディレクトリー:C:\xampp\htdocs\perl_cgi
上記の様に「参照」ボタンを押して設定する

8、「適用」ボタンを押した後、「実行」ボタンを押す

9、実行表示
Eclipseのコンソール画面に表示され


10、Webが立ち上がる
アドレスバーに「http://localhost:5003/sample1.cgi」を記入


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする