CGI02_02.txt

「CGI02_02.txt」の編集履歴(バックアップ)一覧はこちら

CGI02_02.txt」(2008/07/17 (木) 16:03:12) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

<p>aaa<br /><br /> #!/usr/local/bin/perl<br /> # 上の1行の前には空行も空白文字もはいらないようにしてください。<br /> # perlのパス名はプロバイダや環境に合わせて変更してください。</p> <p>#require &quot;jcode.pl&quot;;</p> <p>#<br /> # CGIのヘッダを書き出します。通常は text/html を指定します。<br /> #<br /> print &quot;Content-type: text/html\n&quot;;<br /> print &quot;\n&quot;;</p> <p>#<br /> # HTMLを書き出します。<br /> # &quot;~\n&quot; の ~ の部分に HTML を記述しますが、ダブルクォーテーション( &quot; )<br /> # を用いる際は &quot; の代わりに ' を用いるか、\&quot; のように、バックスラッシュ( \ )<br /> # を前に置いてください。<br /> #<br /> print &quot;&lt;HTML&gt;\n&quot;;<br /> print &quot;&lt;HEAD&gt;\n&quot;;<br /> print &quot;&lt;TITLE&gt;CGI TEST&lt;/TITLE&gt;\n&quot;;<br /> print &quot;&lt;/HEAD&gt;\n&quot;;<br /> print &quot;&lt;BODY BGCOLOR='#FFFFFF' TEXT='#000000'&gt;\n&quot;;<br /> print &quot;&lt;XMP&gt;\n&quot;;</p> <p>#<br /> # wwwperl.cgi?引数1+引数2 で指定したコマンド引数を書き出します。<br /> #<br /> #<br /> #print &quot;&lt;hr&gt;\n&quot;;<br /> #<br /> print &quot;=================================\n&quot;;<br /> print &quot;コマンド引数\n&quot;;<br /> print &quot;=================================\n&quot;;<br /> for ($i = 0; $i &lt;= $#ARGV; $i++) {<br />  print &quot;ARGV[$i] = [ $ARGV[$i] ]\n&quot;;<br /> }<br /> print &quot;\n&quot;;</p> <p>print &quot;&lt;hr&gt;\n&quot;;</p> <p>#<br /> # CGIスクリプトが参照可能な環境変数を書き出します。<br /> #<br /> print &quot;=================================\n&quot;;<br /> print &quot;環境変数\n&quot;;<br /> print &quot;=================================\n&quot;;<br /> print &quot;AUTH_TYPE = [ $ENV{'AUTH_TYPE'} ]\n&quot;;<br /> print &quot;CONTENT_LENGTH = [ $ENV{'CONTENT_LENGTH'} ]\n&quot;;<br /> print &quot;CONTENT_TYPE = [ $ENV{'CONTENT_TYPE'} ]\n&quot;;<br /> print &quot;GATEWAY_INTERFACE = [ $ENV{'GATEWAY_INTERFACE'} ]\n&quot;;<br /> print &quot;HTTP_ACCEPT = [ $ENV{'HTTP_ACCEPT'} ]\n&quot;;<br /> print &quot;HTTP_FORWARDED = [ $ENV{'HTTP_FORWARDED'} ]\n&quot;;<br /> print &quot;HTTP_REFERER = [ $ENV{'HTTP_REFERER'} ]\n&quot;;<br /> print &quot;HTTP_USER_AGENT = [ $ENV{'HTTP_USER_AGENT'} ]\n&quot;;<br /> print &quot;HTTP_X_FORWARDED_FOR = [ $ENV{'HTTP_X_FORWARDED_FOR'} ]\n&quot;;<br /> print &quot;PATH_INFO = [ $ENV{'PATH_INFO'} ]\n&quot;;<br /> print &quot;PATH_TRANSLATED = [ $ENV{'PATH_TRANSLATED'} ]\n&quot;;<br /> print &quot;QUERY_STRING = [ $ENV{'QUERY_STRING'} ]\n&quot;;<br /> print &quot;REMOTE_ADDR = [ $ENV{'REMOTE_ADDR'} ]\n&quot;;<br /> print &quot;REMOTE_HOST = [ $ENV{'REMOTE_HOST'} ]\n&quot;;<br /> print &quot;REMOTE_IDENT = [ $ENV{'REMOTE_IDENT'} ]\n&quot;;<br /> print &quot;REMOTE_USER = [ $ENV{'REMOTE_USER'} ]\n&quot;;<br /> print &quot;REQUEST_METHOD = [ $ENV{'REQUEST_METHOD'} ]\n&quot;;<br /> print &quot;SCRIPT_NAME = [ $ENV{'SCRIPT_NAME'} ]\n&quot;;<br /> print &quot;SERVER_NAME = [ $ENV{'SERVER_NAME'} ]\n&quot;;<br /> print &quot;SERVER_PORT = [ $ENV{'SERVER_PORT'} ]\n&quot;;<br /> print &quot;SERVER_PROTOCOL = [ $ENV{'SERVER_PROTOCOL'} ]\n&quot;;<br /> print &quot;SERVER_SOFTWARE = [ $ENV{'SERVER_SOFTWARE'} ]\n&quot;;<br /> print &quot;\n&quot;;</p> <p># 時間帯を日本時間に設定する<br /> #$ENV{'TZ'} = &quot;JST-9&quot;;</p> <p># プログラム強制中断の際の処理を記述する<br /> #$SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = &quot;sigexit&quot;;<br /> #sub sigexit {<br /> #    # この部分に作業ファイル削除などの終了処理を記述する<br /> #}</p> <p>#require &quot;jcode.pl&quot;;<br /> #$xx = &quot;漢字&quot;;<br /> #&amp;jcode'convert(*xx, &quot;euc&quot;);</p> <p>#<br /> # フォームに指定した値を読み込んで、書き出します。<br /> #<br /> print &quot;=================================\n&quot;;<br /> print &quot;フォーム変数\n&quot;;<br /> print &quot;=================================\n&quot;;<br /> if ($ENV{'REQUEST_METHOD'} eq &quot;POST&quot;) {<br />  # POSTであれば標準入力から読込みます<br />  read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'});<br /> } else {<br />  # GETであれば環境変数から読込みます<br />  $query_string = $ENV{'QUERY_STRING'};<br /> }<br /> # 「変数名1=値1&amp;変数名2=値2」の形式をアンパサンド( &amp; )で分解します<br /> @a = split(/&amp;/, $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(&quot;C&quot;, hex($1))/eg;<br />  # 変数名と値を書き出します<br />  print &quot;$name = $value\n&quot;;<br />  # 後で使用する場合は、$FORM{'変数名'} に代入しておきます<br />  $FORM{$name} = $value;<br /> }</p> <p>#<br /> #<br /> #</p> <p>open(IN, &quot;xxxx.txt&quot;);<br /> while (&lt;IN&gt;) {<br />     print $_;<br /> }<br /> close(IN);</p> <p><br /> #<br /> #<br /> #</p> <p>#open(IN, &quot;/usr/local/bin/nkf -e datafile.txt |&quot;);<br /> print &quot;==================================================\n&quot;;<br /> open(IN, &quot;ls -la  |&quot;);<br /> j = 0;<br /> while (&lt;IN&gt;) {<br />     @linedat = split(/ /, $linedata);<br /> #    print $_;</p> <p> j++;<br />  print &quot;---------------------------------------------------\n&quot;;<br />  print &quot;j = $j\n&quot;;<br />  foreach $i (@linedat) {<br />      print &quot;i = $i\n&quot;;<br />  }<br />  print &quot;---------------------------------------------------\n&quot;;</p> <p>print &lt;&lt;END_OF_DATA01;<br /> &lt;tr bgcolor=#ffffcc&gt;<br /> &lt;td colspan=5&gt;</p> <p>■<br /> &lt;input type=checkbox name=chkno value=&gt; |<br /> &lt;input type=radio name=delno value=<br /> END_OF_DATA01</p> <p># 31</p> <p>print &quot;j&quot;;<br /> # printf(&quot;Name=%s, Age=%d\n&quot;, $name, $age);</p> <p>print &lt;&lt;END_OF_DATA02;<br /> &gt; |<br /> &lt;a href=http://<br /> END_OF_DATA02</p> <p># <a href="http://www.ie.u-ryukyu.ac.jp/~j05017/ie/profile/rep8.html">www.ie.u-ryukyu.ac.jp/~j05017/ie/profile/rep8.html</a></p> <p>print &quot;$FORM{'adrs'}&quot;;<br /> print &quot;$linedat(8)&quot;;</p> <p>print &lt;&lt;END_OF_DATA03;<br /> &gt;&lt;b&gt;<br /> END_OF_DATA03</p> <p># さめがめプログラミングレポート</p> <p>print &lt;&lt;END_OF_DATA04;<br /> &lt;/b&gt;&lt;/a&gt; |<br /> &lt;input type=text size=30 name=re_name value=&gt; |<br /> &lt;input type=text size=4 name=kengen value=777<br /> END_OF_DATA04</p> <p># 755</p> <p>print &lt;&lt;END_OF_DATA04;</p> <p>&gt; |</p> <p>END_OF_DATA04</p> <p># 2008.01.01 01:01:01</p> <p>print &quot;$linedat(8)&quot;;</p> <p>print &lt;&lt;END_OF_DATA05;</p> <p> |<br /> &lt;/td&gt;<br /> &lt;/tr&gt;</p> <p>END_OF_DATA05</p> <p>}<br /> close(IN);</p> <p>print &quot;==================================================\n&quot;;</p> <p>#open(IN01, &quot;_form.f&quot;);<br /> #open(IN01, &quot;_form.clf&quot;);<br /> #open(IN01, &quot;_form.f&quot;);<br /> #while (&lt;IN01&gt;) {<br /> #    print $_;<br /> #}<br /> #close(IN01);</p> <p>#<br /> # HTMLの終わりの部分を書き出します。<br /> #<br /> print &quot;&lt;/XMP&gt;\n&quot;;<br /> print &quot;&lt;/BODY&gt;\n&quot;;<br /> print &quot;&lt;/HTML&gt;\n&quot;;<br /> print &quot;\n&quot;;</p> <p><br /><br /><br /><br /> aaa</p>
<p>aaa<br /><br /> #!/usr/local/bin/perl<br /> # 上の1行の前には空行も空白文字もはいらないようにしてください。<br /> # perlのパス名はプロバイダや環境に合わせて変更してください。</p> <p>#require &quot;jcode.pl&quot;;</p> <p>#<br /> # CGIのヘッダを書き出します。通常は text/html を指定します。<br /> #<br /> print &quot;Content-type: text/html\n&quot;;<br /> print &quot;\n&quot;;</p> <p>#<br /> # HTMLを書き出します。<br /> # &quot;~\n&quot; の ~ の部分に HTML を記述しますが、ダブルクォーテーション( &quot; )<br /> # を用いる際は &quot; の代わりに ' を用いるか、\&quot; のように、バックスラッシュ( \ )<br /> # を前に置いてください。<br /> #<br /> print &quot;&lt;HTML&gt;\n&quot;;<br /> print &quot;&lt;HEAD&gt;\n&quot;;<br /> print &quot;&lt;TITLE&gt;CGI TEST&lt;/TITLE&gt;\n&quot;;<br /> print &quot;&lt;/HEAD&gt;\n&quot;;<br /> print &quot;&lt;BODY BGCOLOR='#FFFFFF' TEXT='#000000'&gt;\n&quot;;<br /><br /> #<br /> # wwwperl.cgi?引数1+引数2 で指定したコマンド引数を書き出します。<br /> #<br /> #<br /> #print &quot;&lt;hr&gt;\n&quot;;<br /> #<br /> print &quot;=================================\n&quot;;<br /> print &quot;コマンド引数\n&quot;;<br /> print &quot;=================================\n&quot;;<br /> for ($i = 0; $i &lt;= $#ARGV; $i++) {<br />  print &quot;ARGV[$i] = [ $ARGV[$i] ]\n&quot;;<br /> }<br /> print &quot;\n&quot;;</p> <p>print &quot;&lt;hr&gt;\n&quot;;</p> <p>#<br /> # CGIスクリプトが参照可能な環境変数を書き出します。<br /> #<br /> print &quot;=================================\n&quot;;<br /> print &quot;環境変数\n&quot;;<br /> print &quot;=================================\n&quot;;<br /> print &quot;AUTH_TYPE = [ $ENV{'AUTH_TYPE'} ]\n&quot;;<br /> print &quot;CONTENT_LENGTH = [ $ENV{'CONTENT_LENGTH'} ]\n&quot;;<br /> print &quot;CONTENT_TYPE = [ $ENV{'CONTENT_TYPE'} ]\n&quot;;<br /> print &quot;GATEWAY_INTERFACE = [ $ENV{'GATEWAY_INTERFACE'} ]\n&quot;;<br /> print &quot;HTTP_ACCEPT = [ $ENV{'HTTP_ACCEPT'} ]\n&quot;;<br /> print &quot;HTTP_FORWARDED = [ $ENV{'HTTP_FORWARDED'} ]\n&quot;;<br /> print &quot;HTTP_REFERER = [ $ENV{'HTTP_REFERER'} ]\n&quot;;<br /> print &quot;HTTP_USER_AGENT = [ $ENV{'HTTP_USER_AGENT'} ]\n&quot;;<br /> print &quot;HTTP_X_FORWARDED_FOR = [ $ENV{'HTTP_X_FORWARDED_FOR'} ]\n&quot;;<br /> print &quot;PATH_INFO = [ $ENV{'PATH_INFO'} ]\n&quot;;<br /> print &quot;PATH_TRANSLATED = [ $ENV{'PATH_TRANSLATED'} ]\n&quot;;<br /> print &quot;QUERY_STRING = [ $ENV{'QUERY_STRING'} ]\n&quot;;<br /> print &quot;REMOTE_ADDR = [ $ENV{'REMOTE_ADDR'} ]\n&quot;;<br /> print &quot;REMOTE_HOST = [ $ENV{'REMOTE_HOST'} ]\n&quot;;<br /> print &quot;REMOTE_IDENT = [ $ENV{'REMOTE_IDENT'} ]\n&quot;;<br /> print &quot;REMOTE_USER = [ $ENV{'REMOTE_USER'} ]\n&quot;;<br /> print &quot;REQUEST_METHOD = [ $ENV{'REQUEST_METHOD'} ]\n&quot;;<br /> print &quot;SCRIPT_NAME = [ $ENV{'SCRIPT_NAME'} ]\n&quot;;<br /> print &quot;SERVER_NAME = [ $ENV{'SERVER_NAME'} ]\n&quot;;<br /> print &quot;SERVER_PORT = [ $ENV{'SERVER_PORT'} ]\n&quot;;<br /> print &quot;SERVER_PROTOCOL = [ $ENV{'SERVER_PROTOCOL'} ]\n&quot;;<br /> print &quot;SERVER_SOFTWARE = [ $ENV{'SERVER_SOFTWARE'} ]\n&quot;;<br /> print &quot;\n&quot;;</p> <p># 時間帯を日本時間に設定する<br /> #$ENV{'TZ'} = &quot;JST-9&quot;;</p> <p># プログラム強制中断の際の処理を記述する<br /> #$SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = &quot;sigexit&quot;;<br /> #sub sigexit {<br /> #    # この部分に作業ファイル削除などの終了処理を記述する<br /> #}</p> <p>#require &quot;jcode.pl&quot;;<br /> #$xx = &quot;漢字&quot;;<br /> #&amp;jcode'convert(*xx, &quot;euc&quot;);</p> <p>#<br /> # フォームに指定した値を読み込んで、書き出します。<br /> #<br /> print &quot;=================================\n&quot;;<br /> print &quot;フォーム変数\n&quot;;<br /> print &quot;=================================\n&quot;;<br /> if ($ENV{'REQUEST_METHOD'} eq &quot;POST&quot;) {<br />  # POSTであれば標準入力から読込みます<br />  read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'});<br /> } else {<br />  # GETであれば環境変数から読込みます<br />  $query_string = $ENV{'QUERY_STRING'};<br /> }<br /> # 「変数名1=値1&amp;変数名2=値2」の形式をアンパサンド( &amp; )で分解します<br /> @a = split(/&amp;/, $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(&quot;C&quot;, hex($1))/eg;<br />  # 変数名と値を書き出します<br />  print &quot;$name = $value\n&quot;;<br />  # 後で使用する場合は、$FORM{'変数名'} に代入しておきます<br />  $FORM{$name} = $value;<br /> }</p> <p>#<br /> #<br /> #</p> <p>open(IN, &quot;xxxx.txt&quot;);<br /> while (&lt;IN&gt;) {<br />     print $_;<br /> }<br /> close(IN);</p> <p><br /> #<br /> #<br /> #</p> <p>#open(IN, &quot;/usr/local/bin/nkf -e datafile.txt |&quot;);<br /> print &quot;==================================================\n&quot;;<br /> open(IN, &quot;ls -la  |&quot;);<br /> j = 0;<br /> while (&lt;IN&gt;) {<br />     @linedat = split(/ /, $linedata);<br /> #    print $_;</p> <p> j++;<br />  print &quot;---------------------------------------------------\n&quot;;<br />  print &quot;j = $j\n&quot;;<br />  foreach $i (@linedat) {<br />      print &quot;i = $i\n&quot;;<br />  }<br />  print &quot;---------------------------------------------------\n&quot;;</p> <p>print &lt;&lt;END_OF_DATA01;<br /> &lt;tr bgcolor=#ffffcc&gt;<br /> &lt;td colspan=5&gt;</p> <p>■<br /> &lt;input type=checkbox name=chkno value=&gt; |<br /> &lt;input type=radio name=delno value=<br /> END_OF_DATA01</p> <p># 31</p> <p>print &quot;j&quot;;<br /> # printf(&quot;Name=%s, Age=%d\n&quot;, $name, $age);</p> <p>print &lt;&lt;END_OF_DATA02;<br /> &gt; |<br /> &lt;a href=http://<br /> END_OF_DATA02</p> <p>#<a href="http://www.ie.u-ryukyu.ac.jp/~j05017/ie/profile/rep8.html">www.ie.u-ryukyu.ac.jp/~j05017/ie/profile/rep8.html</a></p> <p>print &quot;$FORM{'adrs'}&quot;;<br /> print &quot;$linedat(8)&quot;;</p> <p>print &lt;&lt;END_OF_DATA03;<br /> &gt;&lt;b&gt;<br /> END_OF_DATA03</p> <p># さめがめプログラミングレポート</p> <p>print &lt;&lt;END_OF_DATA04;<br /> &lt;/b&gt;&lt;/a&gt; |<br /> &lt;input type=text size=30 name=re_name value=&gt; |<br /> &lt;input type=text size=4 name=kengen value=777<br /> END_OF_DATA04</p> <p># 755</p> <p>print &lt;&lt;END_OF_DATA04;</p> <p>&gt; |</p> <p>END_OF_DATA04</p> <p># 2008.01.01 01:01:01</p> <p>print &quot;$linedat(8)&quot;;</p> <p>print &lt;&lt;END_OF_DATA05;</p> <p> |<br /> &lt;/td&gt;<br /> &lt;/tr&gt;</p> <p>END_OF_DATA05</p> <p>}<br /> close(IN);</p> <p>print &quot;==================================================\n&quot;;</p> <p>#open(IN01, &quot;_form.f&quot;);<br /> #open(IN01, &quot;_form.clf&quot;);<br /> #open(IN01, &quot;_form.f&quot;);<br /> #while (&lt;IN01&gt;) {<br /> #    print $_;<br /> #}<br /> #close(IN01);</p> <p>#<br /> # HTMLの終わりの部分を書き出します。<br /> #<br /><br /> print &quot;&lt;/BODY&gt;\n&quot;;<br /> print &quot;&lt;/HTML&gt;\n&quot;;<br /> print &quot;\n&quot;;</p> <p><br /><br /><br /><br /> aaa</p>

表示オプション

横に並べて表示:
変化行の前後のみ表示: