CGIだけど、なんか質問ある? Part 10
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/03/26 22:47ID:44KxXtaW※CGIは特定の言語に依存するものではありません。
※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
↓
【Perl】初心者コーナー Part21
http://pc2.2ch.net/test/read.cgi/php/1047980851/l50
過去ログ・関連スレッドは >>2-5 あたりに
0008nobodyさん
03/03/27 16:28ID:???Servlet ってこと?
どのみちスレ違い。
回答を求めるなら、計測しようとしている「回線速度」とやらを
おまい自身の言葉で定義してからにしる。
0011nobodyさん
03/03/27 17:41ID:OfSB210sどういう風に書いたらいいですか?
if ($value eq "hoge") {
forearch (@hogehoge){
ながーーい処理
}
} elsif ($value eq "foo") {
forearch (@foofoo) {
上のと同じ処理
}
}
0012nobodyさん
03/03/27 17:44ID:???連想配列作って、
$rensou["hoge"]に@hogehogeを
$rensou["foo"]の@foofooを持たせて、
foreach($rensou[$value])
0013fusianasan
03/03/27 17:46ID:???if($value eq 'hoge') {
&shori(@hogehoge);
} elsif ($value = "foo") {
&shori(@sikosiko);
}
sub shori {
foreach $i (@_) {
ながーいしょり
}
}
001511
03/03/27 17:49ID:???# {}←こうですよねぇ?
0016nobodyさん
03/03/27 17:50ID:???えっと、できるだけサブルーチンにしたくないんです
皆さんのを参考に色々やってみます
0021nobodyさん
03/03/27 23:22ID:???オレにはあんたのいってることが理解で金。
ので評価もできない。
0022nobodyさん
03/03/28 00:18ID:???そこは抽出してサブルーチンにリファクタリングするのが、
怠惰なプログラマーの行き着く手法じゃないのか?
それが嫌だと言う理由がよくわからん。
>>16はこたえてくれんのか。
002316
03/03/28 01:06ID:???で、サブルーチンにしたくないって言ったのは、
特に理由はないです。
なんとなく流れで、
「できればここをサブルーチンにしたくない」
ってこと・・・ないですね。私だけですよね
で、できればサブルーチンじゃない方向で
っていう理由です。しょうもない理由ですいません
0024nobodyさん
03/03/28 01:14ID:???0025nobodyさん
03/03/28 01:17ID:???バグに悩んだ経験がないからそういう風に思うんだろうな。
「よく似ているがほんのちょっと違うソース」によるバグとか経験したら、
絶対にそんなことは言えなくなると思うんだがな。
まあ、お前の人生だ好きにしろ。他人の経験から出た教訓を踏み潰すのもお前の自由だ。
0026nobodyさん
03/03/28 06:56ID:???同じ処理をサブルーチンにせずに2回書くことのメリットは?
とりあえずいくつか書いてください。
ちなみに俺は一つも思いつきません。冗談ではなく。
0027nobodyさん
03/03/28 07:53ID:???0031nobodyさん
03/03/28 09:52ID:???0035nobodyさん
03/03/28 15:13ID:???多分>>32はスレタイと>>29の「sub」を見て舞い上がっちゃったんだと思います。
「CGI=Perlじゃない」というのを言いたくて言いたくて仕方ないんだと思われ(それしか知らないから
0036nobodyさん
03/03/28 17:38ID:???apple,青森,40
orange,愛媛,20
strawberry,茨城,30
↑これがそれぞれ
@fluit = ('appe','orange','strawberry');
@from = ('青森','愛媛','茨城');
@price = (40,20,30);
こんな感じに配列に入ってるとき、たとえば下のようにすると、、、、
foreach (sort { ($price[$b] <=> $price[$a]) || ($a cmp $b) } 0 .. $#price) {
print "$fluit[$_],$from[$_],$price[$_]\n";
}
apple,青森,40
strawberry,茨城,30
orange,愛媛,20
↑こうなると思うんですが、
ソートする条件をフォームから指定させたいんです。
たとえば、($FORM{'jyouken'} eq "fluit")ならfluitでソートって感じに・・・
どのようにすればいいでしょうか?(説明へたですいません)
0038nobodyさん
03/03/28 17:58ID:???0039nobodyさん
03/03/28 18:00ID:???CGIの運用に関する質問スレッドです。
※CGIは特定の言語に依存するものではありません。
※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
↓
【Perl】初心者コーナー Part21
http://pc2.2ch.net/test/read.cgi/php/1047980851/l50
0040nobodyさん
03/03/28 18:02ID:???0043nobodyさん
03/03/28 18:26ID:???0044nobodyさん
03/03/28 18:33ID:???コレどっちかというとスクリプトのもんだいやね
にしても、データの構造が悪いなぁ
@data= (
{fluit=>'apple',from=>'青森',price=>40},
{fluit=>'orenge',from=>'愛媛',price=>20},
{fluit=>'strawberry',from=>'茨城',price=>30}
);
@data = @data[sort{$data[$a]->{$FORM{select}} cmp $data[$b]->{$FORM{select}] } 0 ..$#data];
for (0 .. $#data) {
print "$data->[$_]->{fluit},$data->[$_]->{from},$data->[$_]->{price}\n";
}
自分ならこんなふうに組むかなぁ・・・
0045nobodyさん
03/03/28 18:35ID:???for (0 .. $#data) {
print "$data[$_]->{fluit},$data[$_]->{from},$data[$_]->{price}\n";
}
0047nobodyさん
03/03/28 21:29ID:???「同じ処理を二つ書いてなんとも思わない」と言うことは、
「二つ書いても三つ書いても同じ」と言うことであり、
つまり「ソースはコピペするもの」と言う風に発展しそうだ。
コピペ厨がまともなプログラマーとは誰も思わない訳で。
やれやれ。
>>16 がどんな主義主張だろうと俺には関係ないが、俺の目の届かないところにいてくれると嬉しいな、と。
0048nobodyさん
03/03/28 21:33ID:???>で、サブルーチンにしたくないって言ったのは、
>特に理由はないです。
>なんとなく流れで、
のようなことを思った理由がすごくキニナル。
「サブルーチンが増えるから」とかそんな理由でもいいから何か言って( ゚д゚)ホスィ…
0050nobodyさん
03/03/29 00:31ID:???このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
このスレでは、CGIに関係無い主張は控えてもらえると嬉しいな、と。
0054nobodyさん
03/03/29 13:47ID:21Lv88E2じゃあいくつか
・処理速度が速い
・コピペするだけなので、コーディング時のタイピング数が少ない
・サブルーチン以外の手法を考察する機会を得る
0057nobodyさん
03/03/29 14:05ID:???0059nobodyさん
03/03/29 14:37ID:???0060nobodyさん
03/03/29 14:59ID:???0061nobodyさん
03/03/29 15:56ID:???0062nobodyさん
03/03/29 19:19ID:???・怠惰
・短気
・傲慢
の三大美徳の意味を考えてくれよ……。
これはPerlのモットーかも知れんが、他の言語にも当てはまると思うし、
CGI作るのにも役に立つはずだし。
0064nobodyさん
03/03/30 06:58ID:???ドキュメントルートはD:\WWWでつ。
こんな場合、C:\WWWフォルダのファイルをオープンすることは可能でつか?
open(IN,"$file")||&error;
可能なら、$fileはどんな記述にしたらよいでしょう。
0065nobodyさん
03/03/30 07:51ID:???ドキュメントルートって HTTPサーバのでしょ?
CGI には関係無い。
なので普通に、
$file = "C:/WWW/hoge.txt";
でOK。
0066nobodyさん
03/03/30 07:51ID:???006968
03/03/30 10:04ID:???うちの環境だと \ がバックスラシュになってるから早とちりしてもた。
007064
03/03/30 10:06ID:???できました。
$file = "C:\WWW/hoge.txt";って書いていたお馬鹿な漏れ!
さあ、笑ってくれぃ!
0072nobodyさん
03/03/30 11:21ID:???もし続きがあるなら Perl スレ逝け。
0075nobodyさん
03/03/30 15:55ID:YbjoSkMy知りたいのは、例えば、GETの時のFormDataは環境変数に設定され、
POSTの時のFormDataは標準入力に送られる、というキマリゴトは
CGIのレベルの話なのか、単に、Apache等のいくつかのWebServer
の実装が、そうなっているだけという話なのか、というあたりが
きちっと書かれているページです。
0077nobodyさん
03/03/30 16:01ID:???0078nobodyさん
03/03/30 16:05ID:???はい?
GETは本文を評価しない。その代わりURLの後ろにパラメータをくっつけて送ることができる。
POSTは本文にデータを含むことができる。
httpのGETとPOSTっとこの程度の違いだと思われ。
OS依存の標準入力や環境変数なんて使うプロトコルじゃないよ。
008075
03/03/30 16:28ID:YbjoSkMyありがとうございました。
0081nobodyさん
03/03/30 16:29ID:???>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
0082nobodyさん
03/03/30 16:29ID:???>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
80 名前:75 投稿日:2003/03/30(日) 16:28 ID:YbjoSkMy
>>79
ありがとうございました。
008375
03/03/30 16:51ID:???http://cgi-spec.golux.com/draft-coar-cgi-v11-03-clean.html
を読んでみると、
1.4. Terminology
metavariable
A named parameter that carries information from the server to the script. It is not necessarily a variable in the operating-system's environment, although that is the most common implementation.
6.2. Request Message-Bodies
As there may be a data entity attached to the request, there MUST be a system defined method for the script to read these data. Unless defined otherwise, this will be via the 'standard input' file descriptor.
ということなので、CGI1.1的には別に、環境変数じゃなくても、標準入力じゃなくても、いいみたい。
0084nobodyさん
03/03/30 16:53ID:???まぁ、だとしたらMACではCGIが使えないってことになるからなぁ。
最近、ネットワーク系の規格ってどんどんOS非依存になってきてるね。
008785
03/03/30 17:00ID:???ありがd
0088nobodyさん
03/03/30 17:32ID:2BSCR98U↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
★みんなの情報局★みんなのリンク集★ココ最高★
0089lanble
03/03/30 21:03ID:yF9PwNLZでhtmlファイルってことになるけど
shtmlファイルにするときは
Content-type: text/shtml
でいいの?
0091nobodyさん
03/03/30 21:07ID:yF9PwNLZinfoseekはshtmlだとバナー広告を表示しないんですよね
それをなんとかCGIで行いたいんですけど・・・何か方法
ありませんか?
0092nobodyさん
03/03/30 21:10ID:???0093nobodyさん
03/03/30 21:14ID:yF9PwNLZ0094nobodyさん
03/03/30 21:23ID:???はい次の質問どーぞ。
0095nobodyさん
03/03/30 21:40ID:yF9PwNLZ0097nobodyさん
03/03/30 21:53ID:yF9PwNLZ0099nobodyさん
03/03/31 00:43ID:XMyQGev4BBSを改造したいのですが、頭に "> (>)" が来る文だけ
色を変えたいのですが、どのようにすればよいでしょうか?
よろしくお願いします。
0100nobodyさん
03/03/31 00:49ID:???情報不足。
それ以前にスレ違いなのでこっちに逝ってください。
【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/
0101nobodyさん
03/03/31 00:49ID:???http://pc2.2ch.net/test/read.cgi/php/1047806915/
0102nobodyさん
03/03/31 01:10ID:XMyQGev4わかりました。
すみません。
ありがとうございます。
ついでにできてしまったようです。
凡ミスでした。
板汚し失礼しました。
0103nobodyさん
03/04/02 11:13ID:iqBWaUXY<!--#exec cmd="./xxx.cgi hoge" -->
<!--#exec cmd="./xxx.cgi?hoge" -->
<!--#exec cgi="./xxx.cgi hoge" -->
<!--#exec cgi="./xxx.cgi?hoge" -->
なぜでしょうか。
0105nobodyさん
03/04/02 12:18ID:???http://www.imasy.or.jp/~hsdl/imasy-cgi.html
0106103
03/04/02 13:21ID:???ありがとうございます。出来ました!
でも#includeで出来るんだったら#exec cgiの書き方っていらないですよね?
>>105
すごい参考になりました。
0107nobodyさん
03/04/02 14:22ID:???exec cgiならね。でもexec cmdならブラウザから見えない場所においてあるプログラムも実行できるから、
安全性を高めるためにexecを禁止しているところが多い。
>>105のリンク先
> <!--#exec cmd="cat hogehoge"--> > こういう簡単なのもバツ
ハァ? それはNoEXECにしているからだろ。
■ このスレッドは過去ログ倉庫に格納されています