[#4746] proxy example ? — Kikutani Makoto <kikutani@...>
きくたにです。
7 messages
1997/10/01
[#4750] ruby 1.0-971002 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
6 messages
1997/10/02
[#4754] Now,I am starting ruby. — mamoru@... (Mamoru Matushita)
先日、初めて投稿したつもりだったのですが間違えて
14 messages
1997/10/02
[#4774] change directory — Masaki Suketa <suke@...>
助田です。
5 messages
1997/10/03
[#4779] thread.html — Kikutani Makoto <kikutani@...>
日本語ref-manで、thread.htmlだけ(?)途中から英語になってて
5 messages
1997/10/03
[#4780] .deb distribution policy — Kikutani Makoto <kikutani@...>
きくたにです。
10 messages
1997/10/03
[#4788] Re: .deb distribution policy
— matz@... (Yukihiro Matsumoto)
1997/10/03
まつもと ゆきひろです
[#4790] Re: .deb distribution policy
— "Oliver M. Bolzer" <oliver@...>
1997/10/03
At 18:01 97/10/03 +0900, you wrote:
[#4807] cannot make ext/GD/GD.so on 1.0-971003 — Shoichi OZAWA <ozawa@...>
こんにちは 小澤@日立 です。
4 messages
1997/10/06
[#4840] Re^2: ruby 1.0-971003 — 青山 和光 <PXN11625@...>
わたなべさん、おはようございます。
7 messages
1997/10/07
[#4878] require in cgi script — ono@...
小野@SHARP%元F棟8階住人と申します。
6 messages
1997/10/09
[#4889] NeXT and ruby 1.0-971003 — HYOUDOU Kouichi /note <hyoudo@...>
兵藤です
15 messages
1997/10/10
[#4893] Re: NeXT and ruby 1.0-971003
— matz@... (Yukihiro Matsumoto)
1997/10/11
まつもと ゆきひろです
[#4894] iterator
— gotoken@... (GOTO Kentaro)
1997/10/11
ごとけんです
[#4891] mixin - singleton method inheritance, const etc... — shugo@... (Shugo Maeda)
前田です。
13 messages
1997/10/10
[#4910] Re^6: cgi-lib.rb — 青山 和光 <PXN11625@...>
まつもとさん、おはようございます。
8 messages
1997/10/12
[#4911] flock(mswin32) — Masaki Suketa <suke@...>
助田です。
7 messages
1997/10/12
[#4925] Re: argument list — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
5 messages
1997/10/13
[#4932] A start for English Docs — "Oliver M. Bolzer" <oliver@...>
Oliver@ドイツ学園です。
9 messages
1997/10/13
[#4958] さて、 ruby 使うか — Sinichiro Dezawa <dezawa@...>
出沢@富士フイルムです
11 messages
1997/10/14
[#4978] Re: さて、 ruby 使うか
— Mamoru Sato <ma-sato@...>
1997/10/14
さとうと申します。
[#5000] ruby 1.0-971015 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
14 messages
1997/10/15
[#5005] Re: ruby 1.0-971015 released
— WATANABE Hirofumi <watanabe@...>
1997/10/15
わたなべです.
[#5014] Re: ruby 1.0-971015 released — "EGUCHI Osamu" <eguchi@...>
えぐち です。
8 messages
1997/10/16
[#5017] Re: httpを使ってファイヤウォールをトンネルするプログラム — hisanori@...
松尾@ForUsです。こんにちは。
7 messages
1997/10/16
[#5050] ruby article of TRY! PC — Noritsugu Nakamura <nnakamur@...>
5 messages
1997/10/19
[#5056] RubyでOODB — hisanori@...
松尾です。
20 messages
1997/10/20
[#5057] Re: RubyでOODB
— matz@... (Yukihiro Matsumoto)
1997/10/20
まつもと ゆきひろです
[#5065] Re: RubyでOODB
— hisanori@...
1997/10/20
松尾です。
[#5066] Re: RubyでOODB
— matz@... (Yukihiro Matsumoto)
1997/10/20
まつもと ゆきひろです
[#5074] Re: Rubyで OODB
— keiju@... (石塚圭樹 )
1997/10/21
けいじゅ@日本ラショナルソフトウェアです.
[#5075] Re: Rubyで OODB
— matz@... (Yukihiro Matsumoto)
1997/10/21
まつもと ゆきひろです
[#5079] Re: RubyでOODB
— keiju@... (Keiju ISHITSUKA)
1997/10/21
けいじゅ@日本ラショナルソフトウェアです.
[#5078] ruby 1.0-971021 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
5 messages
1997/10/21
[#5086] Re^4: cgi-lib.rb — 青山 和光 <PXN11625@...>
まつもとさん、おはようございます。
6 messages
1997/10/22
[#5112] ruby & tk(wish) — tateishi@... (Tateishi Takaaki)
14 messages
1997/10/22
[#5113] Re: ruby & tk(wish)
— matz@... (Yukihiro Matsumoto)
1997/10/23
まつもと ゆきひろです
[#5120] Re: ruby & tk(wish)
— Yuji Shigehiro <sigehiro@...>
1997/10/23
重弘です.
[#5130] Re: ruby & tk(wish)
— matz@... (Yukihiro Matsumoto)
1997/10/24
まつもと ゆきひろです
[#5135] class method, instance method — HYOUDOU Kouichi /note <hyoudo@...>
兵藤です
12 messages
1997/10/26
[#5137] Re: class method, instance method
— matz@... (Yukihiro Matsumoto)
1997/10/27
まつもと ゆきひろです
[#5150] Re: class method, instance method
— HYOUDOU Kouichi /note <hyoudo@...>
1997/10/28
兵藤です
[#5151] Re: class method, instance method
— shugo@... (Shugo Maeda)
1997/10/28
前田です。
[#5142] listbox:curselection — KOYAMA Noriaki / 小山徳章 <noriaki.koyama@...>
小山@東芝と申します。
6 messages
1997/10/27
[#5157] Re: mail address class — Shin-ichiro Hara <sinara@...>
原です。
10 messages
1997/10/29
[#5168] Re^2: dbm & flock — 青山 和光 <PXN11625@...>
まつもとさん、こんにちは。
5 messages
1997/10/29
[#5171] SunOS 5.5 で install できない、、 — Sinichiro Dezawa <dezawa@...>
make test まで通ったんですが、make install で
10 messages
1997/10/29
[#5172] Re: SunOS 5.5 で install できない、、
— matz@... (Yukihiro Matsumoto)
1997/10/29
まつもと ゆきひろです
[ruby-list:4817] cgi-lib.rb
From:
青山 和光 <PXN11625@...>
Date:
1997-10-07 00:28:39 UTC
List:
ruby-list #4817
みなさん、はじめまして。青山和光と申します。
FGALTS で ruby の存在を教えていただき先週入れてみたのですが、これは面
白いですね。
私は Perl でワンライナーというのが主なのですが、ruby ならちょっと大き
な物に取り組んでみようかという気になります。
とりあえず、簡単で大きくなりやすい CGI を試してみました。CGI では長い
テキストを良く扱いますが、ヒアドキュメントってどのように記述するのでし
ょうか? マニュアルには無いようなのですけれど。
もう一つマニュアルで引っ掛かったのが、後方参照。これも記述が無いんです
ね。こちらは幸いにも、組み込み変数の所で「最後に成功したパターンマッチ
でn番目の括弧にマッチした値が格納されます.」という記述をみかけたので
$1... で使えるらしいとわかりました。
そして cgi-lib.rb を試してみると、CGI.pm にはあったオフラインモード(コ
マンドラインから CGI スクリプトを起動した場合、各値をコマンドラインか
ら入力するようにしてくれる機能)が無く、ちょっと不便でした。
そこで、とりあえず CGI.pm の該当部分を移植しました。より良い記述の仕方
等ありましたらよろしくお願いいたします。
また、REQUEST_METHOD が GET の時に QUERY_STRING が無いと str が nil に
なり、str.split(/&/) でエラーが起きるようでしたから、QUERY_STRING が無
いときには "" を返すようにしました。
*** cgi-lib.rb.org Fri Oct 03 00:57:09 1997
--- cgi-lib.rb Tue Oct 07 09:07:59 1997
***************
*** 11,25 ****
class CGI
attr("inputs")
def initialize
! str = if ENV['REQUEST_METHOD'] == "GET"
! ENV['QUERY_STRING']
! elsif ENV['REQUEST_METHOD'] == "POST"
! $stdin.read ENV['CONTENT_LENGTH'].to_i
! else
! ""
! end
arr = str.split(/&/)
@inputs = {}
arr.each do |x|
--- 11,52 ----
class CGI
attr("inputs")
+
+ # original is CGI.pm
+ def read_from_cmdline
+ require "shellwords.rb"
+ input = ''
+ query_string = ''
+ if ARGV[1] then
+ input = ARGV.join(' ')
+ else
+ STDERR.print "(offline mode: enter name=value pairs on standard input)
\n"
+ input = readlines.join(' ')
+ input.gsub! /\n/, ''
+ end
+ # minimal handling of escape characters
+ input.gsub! /\\=/, '%3D'
+ input.gsub! /\\&/, '%26'
+
+ words = shellwords(input)
+ if words then
+ if words.join('') =~ /=/ then
+ query_string = words.join('&')
+ else
+ query_string = words.join('+')
+ end
+ end
+ query_string
+ end
def initialize
! str = if ENV['REQUEST_METHOD'] == "GET" then
! ENV['QUERY_STRING'] or ""
! elsif ENV['REQUEST_METHOD'] == "POST" then
! $stdin.read ENV['CONTENT_LENGTH'].to_i
! else
! read_from_cmdline
! end
arr = str.split(/&/)
@inputs = {}
arr.each do |x|
# shellwords.rb
# original is shellwords.pl
#
# Usage:
# require 'shellwords.rb'
# words = shellwords(line)
def shellwords(line)
return '' unless line
line.sub! /^\s+/, ''
words = []
while line != ''
field = ''
while TRUE
if line.sub! /^"(([^"\\]|\\.)*)"/, '' then
snippet = $1
snippet.gsub! /\\(.)/, $1
elsif line =~ /^"/ then
STDOUT.print "Unmatched double quote: $_\n"
exit
elsif line.sub! /^'(([^'\\]|\\.)*)'/, '' then
snippet = $1
snippet.gsub! /\\(.)/, $1
elsif line =~ /^'/ then
STDOUT.print "Unmatched single quote: $_\n"
exit
elsif line.sub! /^\\(.)/, '' then
snippet = $1
elsif line.sub! /^([^\s\\'"]+)/, '' then
snippet = $1
else
line.sub! /^\s+/, ''
break
end
field += snippet
end
words += field
end
words
end
青山 和光 Wakou Aoyama <pxn11625@niftyserve.or.jp>