「CGI02.txt」の編集履歴(バックアップ)一覧はこちら
「CGI02.txt」(2008/07/17 (木) 15:15:26) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
<p>aaa<br /><br />
#!/usr/local/bin/perl<br />
# 上の1行の前には空行も空白文字もはいらないようにしてください。<br />
# perlのパス名はプロバイダや環境に合わせて変更してください。</p>
<p>#require "jcode.pl";</p>
<p>#<br />
# CGIのヘッダを書き出します。通常は text/html を指定します。<br />
#<br />
print "Content-type: text/html\n";<br />
print "\n";</p>
<p>#<br />
# HTMLを書き出します。<br />
# "~\n" の ~ の部分に HTML を記述しますが、ダブルクォーテーション( " )<br />
# を用いる際は " の代わりに ' を用いるか、\" のように、バックスラッシュ( \ )<br />
# を前に置いてください。<br />
#<br />
print "<HTML>\n";<br />
print "<HEAD>\n";<br />
print "<TITLE>CGI TEST</TITLE>\n";<br />
print "</HEAD>\n";<br />
print "<BODY BGCOLOR='#FFFFFF' TEXT='#000000'>\n";<br />
print "<XMP>\n";</p>
<p>#<br />
# wwwperl.cgi?引数1+引数2 で指定したコマンド引数を書き出します。<br />
#<br />
#<br />
#print "<hr>\n";<br />
#<br />
print "=================================\n";<br />
print "コマンド引数\n";<br />
print "=================================\n";<br />
for ($i = 0; $i <= $#ARGV; $i++) {<br />
print "ARGV[$i] = [ $ARGV[$i] ]\n";<br />
}<br />
print "\n";</p>
<p>print "<hr>\n";</p>
<p>#<br />
# CGIスクリプトが参照可能な環境変数を書き出します。<br />
#<br />
print "=================================\n";<br />
print "環境変数\n";<br />
print "=================================\n";<br />
print "AUTH_TYPE = [ $ENV{'AUTH_TYPE'} ]\n";<br />
print "CONTENT_LENGTH = [ $ENV{'CONTENT_LENGTH'} ]\n";<br />
print "CONTENT_TYPE = [ $ENV{'CONTENT_TYPE'} ]\n";<br />
print "GATEWAY_INTERFACE = [ $ENV{'GATEWAY_INTERFACE'} ]\n";<br />
print "HTTP_ACCEPT = [ $ENV{'HTTP_ACCEPT'} ]\n";<br />
print "HTTP_FORWARDED = [ $ENV{'HTTP_FORWARDED'} ]\n";<br />
print "HTTP_REFERER = [ $ENV{'HTTP_REFERER'} ]\n";<br />
print "HTTP_USER_AGENT = [ $ENV{'HTTP_USER_AGENT'} ]\n";<br />
print "HTTP_X_FORWARDED_FOR = [ $ENV{'HTTP_X_FORWARDED_FOR'} ]\n";<br />
print "PATH_INFO = [ $ENV{'PATH_INFO'} ]\n";<br />
print "PATH_TRANSLATED = [ $ENV{'PATH_TRANSLATED'} ]\n";<br />
print "QUERY_STRING = [ $ENV{'QUERY_STRING'} ]\n";<br />
print "REMOTE_ADDR = [ $ENV{'REMOTE_ADDR'} ]\n";<br />
print "REMOTE_HOST = [ $ENV{'REMOTE_HOST'} ]\n";<br />
print "REMOTE_IDENT = [ $ENV{'REMOTE_IDENT'} ]\n";<br />
print "REMOTE_USER = [ $ENV{'REMOTE_USER'} ]\n";<br />
print "REQUEST_METHOD = [ $ENV{'REQUEST_METHOD'} ]\n";<br />
print "SCRIPT_NAME = [ $ENV{'SCRIPT_NAME'} ]\n";<br />
print "SERVER_NAME = [ $ENV{'SERVER_NAME'} ]\n";<br />
print "SERVER_PORT = [ $ENV{'SERVER_PORT'} ]\n";<br />
print "SERVER_PROTOCOL = [ $ENV{'SERVER_PROTOCOL'} ]\n";<br />
print "SERVER_SOFTWARE = [ $ENV{'SERVER_SOFTWARE'} ]\n";<br />
print "\n";</p>
<p># 時間帯を日本時間に設定する<br />
#$ENV{'TZ'} = "JST-9";</p>
<p># プログラム強制中断の際の処理を記述する<br />
#$SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = "sigexit";<br />
#sub sigexit {<br />
# # この部分に作業ファイル削除などの終了処理を記述する<br />
#}</p>
<p>#require "jcode.pl";<br />
#$xx = "漢字";<br />
#&jcode'convert(*xx, "euc");</p>
<p>#<br />
# フォームに指定した値を読み込んで、書き出します。<br />
#<br />
print "=================================\n";<br />
print "フォーム変数\n";<br />
print "=================================\n";<br />
if ($ENV{'REQUEST_METHOD'} eq "POST") {<br />
# POSTであれば標準入力から読込みます<br />
read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'});<br />
} else {<br />
# GETであれば環境変数から読込みます<br />
$query_string = $ENV{'QUERY_STRING'};<br />
}<br />
# 「変数名1=値1&変数名2=値2」の形式をアンパサンド( & )で分解します<br />
@a = split(/&/, $query_string);<br />
# それぞれの「変数名=値」について<br />
foreach $a (@a) {<br />
# イコール( = )で分解します<br />
($name, $value) = split(/=/, $a);<br />
# + や %8A などをデコードします<br />
$value =~ tr/+/ /;<br />
$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;<br />
# 変数名と値を書き出します<br />
print "$name = $value\n";<br />
# 後で使用する場合は、$FORM{'変数名'} に代入しておきます<br />
$FORM{$name} = $value;<br />
}</p>
<p>#<br />
#<br />
#</p>
<p>open(IN, "xxxx.txt");<br />
while (<IN>) {<br />
print $_;<br />
}<br />
close(IN);</p>
<p><br />
#<br />
#<br />
#</p>
<p>#open(IN, "/usr/local/bin/nkf -e datafile.txt |");<br />
open(IN, "ls -la |");<br />
while (<IN>) {<br />
print $_;<br />
}<br />
close(IN);</p>
<p>#open(IN01, "_form.f");<br />
#open(IN01, "_form.clf");<br />
#open(IN01, "_form.f");<br />
#while (<IN01>) {<br />
# print $_;<br />
#}<br />
#close(IN01);</p>
<p>open(OUT, "> datafile.txt");<br />
print(OUT "こんにちわ\n");<br />
#print(OUT "こんにちわ\n");<br />
close(OUT);</p>
<p>#<br />
# HTMLの終わりの部分を書き出します。<br />
#<br />
print "</XMP>\n";<br />
print "</BODY>\n";<br />
print "</HTML>\n";<br />
print "\n";</p>
<p><br /><br /><br />
aaa</p>