自作CGIを評価するスレ (672レス)
自作CGIを評価するスレ http://medaka.5ch.net/test/read.cgi/php/1049514428/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
497: nobodyさん [sage] 03/12/20 03:19 ID:??? >もっと勉強してください。 悪代官が黄門様に無礼者と言ってるのを思い出しちゃったw http://medaka.5ch.net/test/read.cgi/php/1049514428/497
498: nobodyさん [] 03/12/20 10:48 ID:rKU28so3 >>496 CGIとはWEBサーバーがWEBブラウザからの要求に応じてプログラム を起動するための仕組みです。 ”CGIは動いたりしない。” 馬鹿か? http://medaka.5ch.net/test/read.cgi/php/1049514428/498
499: nobodyさん [] 03/12/20 10:49 ID:rKU28so3 >>498 俺は悪代官だよ~W~ http://medaka.5ch.net/test/read.cgi/php/1049514428/499
500: nobodyさん [sage] 03/12/20 13:51 ID:??? >498-499 http://medaka.5ch.net/test/read.cgi/php/1049514428/500
501: nobodyさん [sage] 03/12/20 13:55 ID:??? ヘタレが。 http://medaka.5ch.net/test/read.cgi/php/1049514428/501
502: nobodyさん [sage] 03/12/20 14:07 ID:??? CGIはシステムでも仕掛けでもない。 インターフィエスの一仕様。 モジュールからプロセス作ることもできるが、 あれもCGI? http://medaka.5ch.net/test/read.cgi/php/1049514428/502
503: nobodyさん [] 03/12/20 18:53 ID:FBPjlTLi >>502 どうせperl=cgiとか まだ思ってるアフォだろ? http://medaka.5ch.net/test/read.cgi/php/1049514428/503
504: HTTP/1.1 200 OK [sage] 03/12/20 21:23 ID:??? unlessはほかの言語と混同するからやめれ とか書いてある本があった気がする ほかの言語を使わなければいいだけの話なのに・・・ http://medaka.5ch.net/test/read.cgi/php/1049514428/504
505: nobodyさん [sage] 03/12/21 00:57 ID:??? >>504 マジ? それって、if ははほかの言語と混同するからやめれというのと同じことだよね http://medaka.5ch.net/test/read.cgi/php/1049514428/505
506: nobodyさん [sage] 03/12/21 15:53 ID:??? 汎用的なプログラミングの作法を身につける為なんじゃないかな?if だと他の言語でも大抵応用が効く。 同じような理由でperlの$_(暗黙の代入)はなるべく使うなとか書いてる本もあったよ。 http://medaka.5ch.net/test/read.cgi/php/1049514428/506
507: nobodyさん [sage] 03/12/22 08:45 ID:??? >>506 なんだそりゃ?(藁 じゃあ混同しやすい elsif は使わないほうがいいってことか? http://medaka.5ch.net/test/read.cgi/php/1049514428/507
508: nobodyさん [sage] 03/12/22 15:58 ID:??? 頭の弱いのが何人か・・ http://medaka.5ch.net/test/read.cgi/php/1049514428/508
509: nobodyさん [sage] 03/12/26 11:25 ID:??? >>508 差別はイクナイ! 何国ってのがどこのことだか知らんが,何国の人に失礼だよ(藁 http://medaka.5ch.net/test/read.cgi/php/1049514428/509
510: nobodyさん [sage] 03/12/26 20:54 ID:??? >>509 ハァ? あたまのよわいのがなんにんか・・ って書いてあるが、どう読んだら何国の人になるんだ? 502,504,506,508が(ry http://medaka.5ch.net/test/read.cgi/php/1049514428/510
511: nobodyさん [sage] 03/12/26 21:46 ID:??? 洒落だろ http://medaka.5ch.net/test/read.cgi/php/1049514428/511
512: nobodyさん [sage] 03/12/27 06:08 ID:??? >>510 「なにじんか」って読んだんだろ。>>511の言うように洒落だろうがつまらん。 http://medaka.5ch.net/test/read.cgi/php/1049514428/512
513: nobodyさん [] 03/12/31 15:09 ID:OIDb7RDT 表計算ができるランキングCGIを作ってみたので評価お願いします。 http://ssr.xrea.jp けっこういい出来に仕上がったと思うけど、初めての人は操作にとまどうかも http://medaka.5ch.net/test/read.cgi/php/1049514428/513
514: nobodyさん [] 04/01/05 13:20 ID:8h9t8BrG >>513 落としたYo とりあえず使えそう・面白そうな物だったら、朴らせてもらうわ(w http://medaka.5ch.net/test/read.cgi/php/1049514428/514
515: nobodyさん [] 04/01/12 07:57 ID:fR13iSUk age http://medaka.5ch.net/test/read.cgi/php/1049514428/515
516: nobodyさん [] 04/01/17 13:56 ID:kOvCn6Ho 携帯&PC対応の掲示板作りました。 http://fine.tok2.com/home/moritomo/cgi/career/career_bbs.cgi です。 http://medaka.5ch.net/test/read.cgi/php/1049514428/516
517: nobodyさん [sage] 04/01/17 14:22 ID:??? >>516 それで金を取ろうと思う神経を疑うよ http://medaka.5ch.net/test/read.cgi/php/1049514428/517
518: nobodyさん [sage] 04/01/17 18:12 ID:??? 上と下に出てる「1」って何だ? http://medaka.5ch.net/test/read.cgi/php/1049514428/518
519: nobodyさん [sage] 04/01/17 19:01 ID:??? >>516 http://fine.tok2.com/home/moritomo/cgi/accesstakelog.txt http://fine.tok2.com/home/moritomo/cgi/admin_remote_log.txt http://fine.tok2.com/home/moritomo/cgi/akusesu.txt http://fine.tok2.com/home/moritomo/cgi/countlog.txt http://fine.tok2.com/home/moritomo/cgi/hatugen.txt http://fine.tok2.com/home/moritomo/cgi/newaccesslog.txt http://fine.tok2.com/home/moritomo/cgi/newcount.txt http://fine.tok2.com/home/moritomo/cgi/newdomain.txt 以下略 ヴァカですか? http://medaka.5ch.net/test/read.cgi/php/1049514428/519
520: nobodyさん [sage] 04/01/17 19:15 ID:??? >>516 ディレクトリ丸見えだねぇ http://medaka.5ch.net/test/read.cgi/php/1049514428/520
521: nobodyさん [sage] 04/01/18 02:22 ID:??? ところで、ちゃんと評価してるのって最初のほうだけだね。 http://medaka.5ch.net/test/read.cgi/php/1049514428/521
522: nobodyさん [sage] 04/01/18 03:41 ID:??? >>521 ・ここは見た目じゃなくコードを評価するスレだ。 ・use strict; しろ。 ・perlstyle 読め。 ・デカいの持ってきても面倒だから読まんぞ。 …のどれかに該当していたら、まともなレスは返ってこない。 http://medaka.5ch.net/test/read.cgi/php/1049514428/522
523: nobodyさん [sage] 04/01/18 21:22 ID:??? コードの見た目を評価するスレの間違い。 http://medaka.5ch.net/test/read.cgi/php/1049514428/523
524: >>516 [] 04/01/25 15:17 ID:yPaa9elS DirectoryIndexの設定をしているtoktokも問題かと思うが。 Forbiddenにしたみたいだけど、 せめてファイル名変えなよ。 http://medaka.5ch.net/test/read.cgi/php/1049514428/524
525: nobodyさん [sage] 04/03/06 14:54 ID:??? 誰も居ない……ケチつけるなら今のうち。 if-elsifの書き方、 if{ .. }elsif{ .. } より if{ .. } elsif{ .. } の方が俺にとっては読み易いんだコンチクショー。 http://medaka.5ch.net/test/read.cgi/php/1049514428/525
526: nobodyさん [sage] 04/03/19 18:15 ID:??? >>522 perlstyleなんて知らなかった…ありがとう、勉強になったよ。 http://medaka.5ch.net/test/read.cgi/php/1049514428/526
527: nobodyさん [ ] 04/05/03 22:01 ID:??? >>526 > perlstyle ハァ? http://medaka.5ch.net/test/read.cgi/php/1049514428/527
528: nobodyさん [sage] 04/05/09 20:52 ID:??? 例えば既成の掲示板のCGIとかから require 'axlog.pl'; AxLog::getlog('ログファイル名','ログ最大記録数'); の用に呼び出して使うアクセス解析。 何となく作ったんですが評価お願いします。 アクセス解析 http://torihamlog.s55.xrea.com/search/axlog.pl.txt ログビューワー http://torihamlog.s55.xrea.com/search/axlogv.cgi.txt ここにログビューワを設置して、それにアクセス解析しこんでます。 リモホとかIPとか晒す事になるので困る人は見ないで下さい。 パスワードは 1234 です。 http://torihamlog.s55.xrea.com/search/axlogv.cgi 念のため…コレ呼び出すとログを削除します。 http://torihamlog.s55.xrea.com/search/dellog.cgi http://medaka.5ch.net/test/read.cgi/php/1049514428/528
529: 528 [sage] 04/05/09 21:13 ID:??? すいません、上の奴.txtで終わってるのに何故か実行しようとしてエラーになるので ファイル名変更しました。 アクセス解析 http://torihamlog.s55.xrea.com/search/axlog_pl.txt ログビューワー http://torihamlog.s55.xrea.com/search/axlogv_cgi.txt http://medaka.5ch.net/test/read.cgi/php/1049514428/529
530: nobodyさん [sage] 04/05/09 21:49 ID:??? >>529 とりあえず axlog.pl をザッと見た感じ。 > 39: my $logfile = ($_[0]) ? $_[0] : "log.dat"; my $logfile = $_[0] || "log.dat"; か my $logfile = defined $_[0] && length $_[0] ? $_[0] : "log.dat"; > 48: $ENV{'TZ'} = "JST-9"; local するか、呼び出し元と条件を揃える (設定しない) 。 > 58 〜 62 my($path) = $ENV{'SCRIPT_NAME'} =~ m|^(.*/)|; ログに ASCII 以外の文字を吐くのはあまりお勧めしない。 あと axlog.pl.txt や axlog.cgi.txt でも「.pl」や「.cgi」は含まれて いるので CGI プログラムとして動く。Apache のマニュアル参照。 http://medaka.5ch.net/test/read.cgi/php/1049514428/530
531: nobodyさん [sage] 04/05/09 22:26 ID:??? >>529 axlogv.cgi 。 > 6: use vars qw/$pw $logfile $gzip_send $gzip/; 不要。 > 47 〜 53: my $gzip = $^O =~ /Win/ ? "gzip.exe -1 -c" : "/bin/gzip -1 -c" ; > 69: if ($mode eq "css") { Style_Sheets(); } わざわざ CGI で吐かせる理由は? > 74: else { print "Status: 403 Forbidden\n\n"; exit; } エラーメッセージを吐いた方が親切。 > 256: Content-type: text/plain; charset=Shift_JIS text/css http://medaka.5ch.net/test/read.cgi/php/1049514428/531
532: 528 [sage] 04/05/10 19:23 ID:??? >>530-531 評価ありがとうございます。 色々参考になります。 cssについてはファイルを一つにまとめたかったからです。 やっぱあんまり良くないですか? >> 74: else { print "Status: 403 Forbidden\n\n"; exit; } >エラーメッセージを吐いた方が親切。 if ($mode eq "css") { Style_Sheets(); } elsif ($pass ne $pw) { Error('パスワードが違います。') } elsif (($pass eq $pw) && ($mode eq "view") && ($ENV{'REQUEST_METHOD'} eq "POST")) { View(); } else { Pass_form(); } こうゆう風にしようと思っています。 http://medaka.5ch.net/test/read.cgi/php/1049514428/532
533: nobodyさん [sage] 04/05/11 00:31 ID:??? >>532 ・CSS を変更する為にスクリプトを編集する危険を冒す必要がある。 ・外部に CSS を持つのに対し、常に二倍の回数実行される。 ・CSS を使い回す時に悩む事になる。 これらのデメリットを考慮の上で、なお一つにまとめるメリットの方が 勝ると判断したならいいんじゃないか? http://medaka.5ch.net/test/read.cgi/php/1049514428/533
534: 528 [] 04/05/14 20:45 ID:1r/FkAS3 >>532 自己レス すげー馬鹿なこと書いていた if ($mode eq "css") { Style_Sheets(); } elsif (($pass) && ($pass ne $pw)) { Error('パスワードが違います。') } elsif (($pass eq $pw) && ($mode eq "view") && ($ENV{'REQUEST_METHOD'} eq "POST")) { View(); } else { Pass_form(); } たぶんコレでいいかな… 作った動機はなんとなくなんだけど、実用性とかどうでせう? 一応CGIの設置とかできて、ほんのちょっとだけいじれる程度人向けのつもりです。 http://medaka.5ch.net/test/read.cgi/php/1049514428/534
535: ◆u2YjtUz8MU [age] 04/07/02 01:32 ID:??? いろいろわからんことだらけで作りましたが 添削して下しさい。 【スクリプト】http://www.tcn.ne.jp/~majima/dog/quiz.txt 【動作例】http://www.tcn.ne.jp/~majima/dog/quiz/quiz.cgi http://medaka.5ch.net/test/read.cgi/php/1049514428/535
536: nobodyさん [sage] 04/07/03 23:32 ID:??? >>535 むずい http://medaka.5ch.net/test/read.cgi/php/1049514428/536
537: nobodyさん [sage] 04/07/04 05:07 ID:??? >>535 とりあえず画像のファイル名を変えた方が良いよw 20点頂きました http://medaka.5ch.net/test/read.cgi/php/1049514428/537
538: nobodyさん [sage] 04/07/04 05:12 ID:??? >>535 もじゅーるは使えない鯖なんでつか? 使えるんなら使ったほうがいいでつよ。 Image::Magick、CGI、Jcode等々 何に使うのかは自分で調べてね。 EUCで書いたり表示したりしたほうがいいと思うけど、Shift_JISでやりたいのなら反対しないさ。 所々myを付けているが、どうせなら全部に付けちゃいな。 strictしろってこった。 ついでにHTML的にも4.01strict すれば? http://medaka.5ch.net/test/read.cgi/php/1049514428/538
539: ager [age] 04/07/09 18:40 ID:??? age http://medaka.5ch.net/test/read.cgi/php/1049514428/539
540: nobodyさん [] 04/10/08 20:39:40 ID:HUGW4EIR タイトル::時刻::内容\n というようなデータが数行あるような場合 それらを読んできて切り分けるって処理を してます。 これの評価お願いします。 sub split_data{ my @ref,@tmp,%hush; @tmp = @_; for (@tmp){ chomp; ($hush{title},$hush{time},$hush{contents}) = split /::/; push (@ref,{%hush}); } return(@ref); } @tmp = ("a::b::c\n","d::e::f\n","g::h::i\n"); @ref = split_data(@tmp) for(0..$#ref){ print "title:".$ref[$_]->{title}; print " time:".$ref[$_]->{time}; print " contents:".$ref[$_]->{contents}."\n"; } http://medaka.5ch.net/test/read.cgi/php/1049514428/540
541: nobodyさん [sage] 04/10/09 00:21:55 ID:??? >>540 myで複数宣言するときは()がいる hushじゃなくてたぶんhashね. 連想配列っていみなら ハッシュのスライスを使うとエレガントかも @hash{qw/title time contents/} = split /::/; foreachつかえよ for(...$#ref) http://medaka.5ch.net/test/read.cgi/php/1049514428/541
542: 540 [sage] 04/10/09 02:08:52 ID:??? 541> >ハッシュのスライスを使うとエレガントかも >@hash{qw/title time contents/} = split /::/; ありがと、参考になりました。 my は複数でも()いりませんよ。バージョンによるだろうけど 最後に、今更foreach使ってる人いるんですか?w http://medaka.5ch.net/test/read.cgi/php/1049514428/542
543: nobodyさん [sage] 04/10/09 02:43:14 ID:??? >>542 #--- test.p --- use strict; my $foo, $bar, $baz; __END__ > /usr/local/bin/perl -v This is perl, v5.8.5 built for i386-freebsd-64int <snip> > /usr/local/bin/perl -wc test.p Parentheses missing around "my" list at test.p line 2. Global symbol "$bar" requires explicit package name at test.p line 2. Global symbol "$baz" requires explicit package name at test.p line 2. test.p had compilation errors. > /usr/bin/perl -v This is perl, version 5.005_03 built for i386-freebsd <snip> > /usr/bin/perl -wc test.p Parens missing around "my" list at test.p line 2. Global symbol "$bar" requires explicit package name at test.p line 2. Global symbol "$baz" requires explicit package name at test.p line 2. test.p had compilation errors. http://medaka.5ch.net/test/read.cgi/php/1049514428/543
544: nobodyさん [sage] 04/10/09 03:20:52 ID:??? >>541 >foreachつかえよ >>542 >今更foreach使ってる人いるんですか?w for と foreach は単なるシノニムなので、その表現は正しくないな。 foreach (LIST) BLOCK を for (LIST) BLOCK と略せるのと同様に、 for (EXPR; EXPR; EXPR) BLOCK を foreach (EXPR; EXPR; EXPR) BLOCK と書いてもエラーにならない。 foreach ループを意味するところで foreach と「書け」という >>541 の アドヴァイスは論拠の確かな正しいものだ。しかし Perl では C 風の for ループを使う機会が foreach ループに比べて圧倒的に少ない上、 人間の目からも for ループと foreach ループの区別は容易なので、 砕けた流暢な Perl を目指すならこだわる必要のない部分だと思うな。 http://medaka.5ch.net/test/read.cgi/php/1049514428/544
545: nobodyさん [sage] 04/10/09 05:06:54 ID:??? >>540 %hush(多分hash?)の宣言の位置。 GCのコストを考慮した場合に、変数の再利用をするはあるけど...、 ループないで初期化してないとフィールドの数が少ない時に困るよ。 split/::/の代わりに正規表現を使ってデータを切り出すと、 データのチェックとsplitを同時にできて便利。 chompはデータ格納前に済ませておいた方が良いんじゃないかな。chomp(@tmp) もしくは、大抵はファイルから読み込むだろうからその時に。 http://medaka.5ch.net/test/read.cgi/php/1049514428/545
546: 540 [sage] 04/10/09 05:35:12 ID:??? >>544 どうもありがとう。foreachは普通に使えるんだろうけど、 大抵forで済ませてしまうのです。言い方悪かったです、スイマセン。 >>545 ありがとうございます。 >ループないで初期化してないとフィールドの数が少ない時に困るよ。 というのは、forのループ内で undef(%hush); (ほんとはhashでしたw) でいいですか? あと、フィールドの数が少ない時というのはどういうことでしょうか? >split/::/の代わりに正規表現を使ってデータを切り出すと どう書いたらいいのか思いつきません。宜しかったらご教授下さい。 >chompはデータ格納前に済ませておいた方が良いんじゃないかな。 そうですね。 open(FH,"file_name"); @tmp = <FH>; chomp(@tmp); close(FH); http://medaka.5ch.net/test/read.cgi/php/1049514428/546
547: 541 [sage] 04/10/09 11:14:32 ID:??? 言いたかったのはforeach (@ref)にしろよってことね 別にfor (@ref)でもいいかもしれんが あと>>543読んだか? myは複数宣言するときは()いる >>546 >ループ内で初期化 for(hoge){ my %hash; statement; } こういう事だと思う http://medaka.5ch.net/test/read.cgi/php/1049514428/547
548: 540 [sage] 04/10/09 12:28:12 ID:??? my () つけなくてもエラー出てないです。 という事は 省略も可って事ではないでしょうか? http://medaka.5ch.net/test/read.cgi/php/1049514428/548
549: nobodyさん [sage] 04/10/09 14:26:51 ID:??? >>548 エラーにならないのは strict 'vars' 宣言が無いからだ。 my $foo, $bar, $baz; という文自体は文法的には間違いじゃないが、 my は , より優先順位が高いので、my($foo), $bar, $baz; と書くのと 等価になる。 #--- test.p --- my $foo, $bar, $baz; print defined $main::{$_} ? "'$_' is global.\n" : "'$_' is rexical.\n" for qw(foo bar baz); __END__ > perl -w test.p Parentheses missing around "my" list at test.p line 1. Useless use of a variable in void context at test.p line 1. Useless use of a variable in void context at test.p line 1. Name "main::bar" used only once: possible typo at test.p line 1. Name "main::baz" used only once: possible typo at test.p line 1. 'foo' is rexical. 'bar' is global. 'baz' is global. http://medaka.5ch.net/test/read.cgi/php/1049514428/549
550: nobodyさん [sage] 04/10/09 17:41:00 ID:??? >>546 > あと、フィールドの数が少ない時というのはどういうことでしょうか? これは、今回のケースでは問題なかったです。 でも、変数を再利用する時は気を付けないと、前の値が残っていたり、 意図しない場所の値を書き換えてしまったりするので注意。 例えば、pushの所を \%hash とりファレンスを使うように変更した場合。 my (@ref, %hash); foreach (@_) { # @refの中の前の値を上書きすることになる # {%hash}とした場合は、@refにはいってる値はコピーなので影響ない @hash[qw/title time contents/] = split/::/; push(@ref, \%hash); } my (@ref); foreach (@_) { my %hash; @hash[qw/title time contents/] = split/::/; # {%hash} でも期待通りに動作するが、余分なコピーを生成 push(@ref, \%hash); } 速度とかを重視するなら >>540 が効率良さそうだけど、(多分) バグとかみつかった場合に変数のスコープが広いと特定するのが困難になる。 >>542 > my は複数でも()いりませんよ。バージョンによるだろうけど 他の方に指摘のある通り。 最低限 use strict; use warnings;(もしくは -w) を宣言してないとPerlは教えてくれない。 http://medaka.5ch.net/test/read.cgi/php/1049514428/550
551: nobodyさん [sage] 04/10/09 18:04:19 ID:??? ここってものすごいでかいスクリプトでも細かい所まで見てくれるの? http://medaka.5ch.net/test/read.cgi/php/1049514428/551
552: nobodyさん [sage] 04/10/09 18:09:49 ID:??? >>550 何かおかしな日本語だった。訂正 s/他の方に/他の方からも/ あと、正規表現を使った方法を書き忘れてたのでついでに、、 例えば time が整数の場合の例 if (/^(.+)::(\d+)::(.+)$/) { @hash{qw/title time contents/} = ($1, $2, $3) } http://medaka.5ch.net/test/read.cgi/php/1049514428/552
553: nobodyさん [sage] 04/10/09 19:39:15 ID:??? >>551 読むに耐えうる書き方&内容ならな。 KENTレベルなら却下 http://medaka.5ch.net/test/read.cgi/php/1049514428/553
554: nobodyさん [sage] 04/10/09 22:16:04 ID:??? >>553 オブジェクト指向とか頑張ってやってみたけど中途半端になったようなのでも大丈夫ですか? http://medaka.5ch.net/test/read.cgi/php/1049514428/554
555: nobodyさん [sage] 04/10/09 22:37:35 ID:??? 何書いたって叩かれるんだから、結城出していいと思う http://medaka.5ch.net/test/read.cgi/php/1049514428/555
556: 540 [sage] 04/10/09 23:53:30 ID:??? ほんとにこんなに色々な方が、教えてくださるとは思ってませんでした。 どうもありがとうございます。 特にエレガントな方法を教えてくださった542氏 ハイレベルな(少なくとも今の私には)指摘をしてくれた 545=550=552氏には感謝します。 その他あのようなケチなコードに意見を下さった方々ありがとう。 またお世話になるかもしれません。m(_ _)m http://medaka.5ch.net/test/read.cgi/php/1049514428/556
557: nobodyさん [sage] 04/10/10 20:44:07 ID:??? > my は複数でも()いりませんよ。バージョンによるだろうけど > 最後に、今更foreach使ってる人いるんですか?w こんなこと言うやつはもう来なくていい http://medaka.5ch.net/test/read.cgi/php/1049514428/557
558: 540 [] 04/10/11 01:40:27 ID:21NinhME ごめんね http://medaka.5ch.net/test/read.cgi/php/1049514428/558
559: nobodyさん [sage] 04/10/11 09:04:30 ID:??? >>558 とっとと消えろ http://medaka.5ch.net/test/read.cgi/php/1049514428/559
560: nobodyさん [sage] 04/10/18 16:42:05 ID:??? >>557 同意。 http://medaka.5ch.net/test/read.cgi/php/1049514428/560
561: かぼ [] 04/10/22 19:30:44 ID:EM8OHCfb 評価お願いします。 http://members14.tsukaeru.net/skycat/quan/quan.cgi http://medaka.5ch.net/test/read.cgi/php/1049514428/561
562: nobodyさん [sage] 04/10/22 20:13:06 ID:??? >>561 コード晒せって馬鹿 http://medaka.5ch.net/test/read.cgi/php/1049514428/562
563: nobodyさん [] 05/01/23 00:46:42 ID:vqv+/2ig 誘導されてきました。 評価というか不具合の問題です 初めてperl書いてみました。 簡易的な計算のプログラムを作ってみたんですがうまく動作しません。 ちょっと見て頂き、不具合等御指摘下さい 特定の計算式で、入力(1項目だけセレクトボックスにより選択)した数値を計算するものです。 ソース http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20050123003423509.txt URL http://sr-cafe.chu.jp/kok/calc.html http://medaka.5ch.net/test/read.cgi/php/1049514428/563
564: nobodyさん [] 05/01/23 03:00:10 ID:3FhDUp9J >>563 ソースはマンドクサイのでちゃんと読んでないけど、 文字コードと改行コードの問題の様な希ガス。 http://medaka.5ch.net/test/read.cgi/php/1049514428/564
565: nobodyさん [sage] 05/01/23 13:10:26 ID:??? >>563 calc.html × <SELECT name="set" name="s1"> ○ <SELECT name="s1"> http://medaka.5ch.net/test/read.cgi/php/1049514428/565
566: nobodyさん [sage] 05/01/23 20:04:18 ID:??? >>563 ReadFormData(*FORM); → %FORM=&ReadFormData; print <<END_OF_DATA; → print <<"END_OF_DATA"; Content-type: text/html; → Content-type: text/html\n\n 以下 sub ReadFormDataの修正 local(*FORM) = @_; → my %FORM=(); local($buf, $tmp, $name, $value); → my($buf, $tmp, $name, $value); return %FORM; ← 最後に追加 http://medaka.5ch.net/test/read.cgi/php/1049514428/566
567: nobodyさん [] 05/01/24 11:42:30 ID:YsLCruPH >>566 改行コード2つとダブルクォーテーション必要無くね? http://medaka.5ch.net/test/read.cgi/php/1049514428/567
568: nobodyさん [sage] 05/01/24 12:10:13 ID:??? \n\nはいらんね。 ヒアドキュメントのダブルクォートはどちらかというとあったほうが・・・ http://medaka.5ch.net/test/read.cgi/php/1049514428/568
569: 563 [sage] 05/01/25 02:27:15 ID:??? ありがとうございます。 >>566サンの通りにしたり、色々試してるんですがまだ動かないです… printが閉まってなくてフォームの値を処理出来てないんでしょうか… http://medaka.5ch.net/test/read.cgi/php/1049514428/569
570: nobodyさん [sage] 05/01/25 04:00:44 ID:??? >>569 うちのサーバでスクリプト試したんだけどちゃんと動くぜ。 おまい、サーバに嫌われてるんだ。きっと。 問題は print <<END_OF_DATA 〜 END_OF_DATA までか、 まさかと思うがパーミッションか、perlの指定。 一度 print <<END_OF_DATA 〜 END_OF_DATA を たいした行数じゃないんだし、print "〜\n"; に置き換えてみ。 それからコメント行やめろ。余計見づらくなる。 http://medaka.5ch.net/test/read.cgi/php/1049514428/570
571: 566 [sage] 05/01/25 04:01:58 ID:??? >>569 今試したら566の変更だけで動いたわけだが。 Content-typeの行はそのままでも良いみたい。 動かないとしたらCGIの設置方法の問題。 まさかとは思うがローカルでテストしてるよね? http://medaka.5ch.net/test/read.cgi/php/1049514428/571
572: nobodyさん [sage] 05/01/25 04:03:19 ID:??? →まさかとは思ってない法則 http://medaka.5ch.net/test/read.cgi/php/1049514428/572
573: 566 [sage] 05/01/25 04:07:06 ID:??? つーか563のソースのままでも、ちゃんと結果出るじゃん。 問題はコードではない予感。 http://medaka.5ch.net/test/read.cgi/php/1049514428/573
574: nobodyさん [sage] 05/01/25 04:14:49 ID:??? >>573 経験で言うとさ、ヒアドキュメントはサーバの機嫌で、最初はうまく動作して くれないことがある。Cookieなんか入れるとどうも変なんだよな。 そういうとき俺はメンドーでも print "〜\n" に置換えてやる。すると、あとは 「ヒアドキュメントでも読込んでやるかぁ」ってことでサーバは折り合ってくれる。 http://medaka.5ch.net/test/read.cgi/php/1049514428/574
575: nobodyさん [sage] 05/01/25 04:27:07 ID:??? >>574 コンピュータに機嫌も何もねーだろ。 http://medaka.5ch.net/test/read.cgi/php/1049514428/575
576: nobodyさん [sage] 05/01/25 04:34:21 ID:??? いや、あるんだって。コード書く時も、こうした方が処理が楽だろ、とか ムリしなくっていいから、とか気を使ってやると機嫌よくなる。ほんとだぜ。 http://medaka.5ch.net/test/read.cgi/php/1049514428/576
577: nobodyさん [sage] 05/01/25 06:20:53 ID:??? >>576 お前が何も分かって無いだけ http://medaka.5ch.net/test/read.cgi/php/1049514428/577
578: nobodyさん [sage] 05/01/25 06:47:43 ID:??? 577はコード丸写しで自作CGIと称してるだろw。 多かれ少なかれ576のような感じはあるな。 http://medaka.5ch.net/test/read.cgi/php/1049514428/578
579: nobodyさん [sage] 05/01/25 17:47:54 ID:??? >>578 お前が何も分かって無いだけ http://medaka.5ch.net/test/read.cgi/php/1049514428/579
580: nobodyさん [sage] 05/01/27 18:28:04 ID:??? 皆さん本当スイマセンでした! パーミッションの所為だった… 元のままでも566のコードでもどちらでも動きました。 >>571-572 そのとおりです。 ローカルでテスト出来るという事すら知りませんでした。 勉強します。 http://medaka.5ch.net/test/read.cgi/php/1049514428/580
581: nobodyさん [sage] 2005/06/06(月) 19:56:57 ID:??? ねるねるねるねは Ψ(`∀´)Ψイッヒッヒッヒッヒ _▲_ ねればねるほど ((φ(..。) 色が変わって _▲_ こうやってつけて р(゚Д゚ ) *_▲_* ウマイ━━━*━ヘ(゚∀゚)ヘ━*━━━━!!!! テ-レッテレ-♪ http://medaka.5ch.net/test/read.cgi/php/1049514428/581
582: nobodyさん [sage] 2005/06/06(月) 23:03:05 ID:??? >>581 お前の親父ダサイな http://medaka.5ch.net/test/read.cgi/php/1049514428/582
583: nobodyさん [] 2005/09/21(水) 17:05:52 ID:54UaWl8q age http://medaka.5ch.net/test/read.cgi/php/1049514428/583
584: nobodyさん [] 2006/05/18(木) 17:31:45 ID:Ip4qBE+B ttp://c.hibi.info/Apple-1.zip どなたか評価(清書?)お願いします_ _ 指定されたスレの中から前日から当日までの既定の時間にあるレスを抽出して、 そのレスから株価コードを抜き出し株価の前日比、前日比率でソートしランキングを作成した後スレに書き込むツールです。 2chへの書き込み時のCookiee処理に曖昧な点があるのと、処理の最適化をして貰えると嬉しいです。 宜しくお願いします_ _ http://medaka.5ch.net/test/read.cgi/php/1049514428/584
585: nobodyさん [sage] 2006/05/18(木) 22:33:53 ID:??? 他のスレから来ました。 Perlで他のサイトを取得して表示したいと思っています。 (著作権侵害とかそういうことをしたいのではないです) お時間のある方にお願いしますが、次のコードで@niftyのトップページを取得してみたら どうなるか教えていただけませんでしょうか? print "Content-Type: text/html\n"; print "\n"; use LWP::Simple; print get( 'http://www.nifty.com/' ); 私のところだと、ブラウザ上での表示がぐちゃぐちゃになるんですが…。 http://medaka.5ch.net/test/read.cgi/php/1049514428/585
586: nobodyさん [sage] 2006/05/18(木) 22:56:52 ID:??? >585 マルチポストすんな http://medaka.5ch.net/test/read.cgi/php/1049514428/586
587: ◆AOxf8.Tmck [sage] 2006/05/18(木) 23:03:18 ID:??? >>585は私じゃないです。スルーしてください。 http://medaka.5ch.net/test/read.cgi/php/1049514428/587
588: nobodyさん [] 2006/06/06(火) 15:21:29 ID:Re1RmuFG 簡易予定表のようなものを組んでみたんですが、なんだかモッサリしてる気がします。 もっと簡潔に書けるような気がするんですが自分ではこれが限界でした。 あと、ファイルロックのやり方が合っているのか自信がありません。 一応動いていることは動いているんですが、問題はないでしょうか。 改良すべき点、根本的にこういう書き方に直した方が良い、とかあればアドバイスお願いします。 大まかな内容は以下のようなものです。 予定として保存する内容は「予定日(月と日)」と 「予定内容(長くても200バイト程度)」の2つでフォームから渡します。 予定を保存するファイルは月単位で作成します。 例えば2006年6月の予定の場合なら「200606.txt」というファイル名です。 保存するファイルがないときはその都度作成し、 6月1日 6月2日 6月3日 . . . という風に日付だけを先に入れておきます。 保存するファイルがあるときは、 フォームから渡された「予定日」とマッチした日付の次の行に「予定内容」を書き込みます。 内容は以上です。次レスにコードを晒します。 http://medaka.5ch.net/test/read.cgi/php/1049514428/588
589: nobodyさん [sage] 2006/06/06(火) 15:22:42 ID:??? # 保存するファイル名 $a = sprintf("%04d%02d",$YEAR,$MON) $file = "$a.txt"; # 月から日数を出す if($MON == 1|3|5|7|8|10|12){ $m = 31; }elsif($MON == 4|6|9|11){ $m = 30; }else{ if($YEAR % 4 ==0){ $m = 29; }else{ $m = 28; } } for($i=1;$i<=$m;$i++){ $date .= "$MON月$i日\r\n\r\n"; } http://medaka.5ch.net/test/read.cgi/php/1049514428/589
590: 後半 [sage] 2006/06/06(火) 15:23:17 ID:??? # 該当する月のファイルがなければ作成 if(!open(IN,"$file")){ open(OUT,">$file") flock(OUT,2); print OUT $date; close(OUT); } open(IN,"$file"); flock(IN,2); @A = <IN>; close(IN); # 「予定日」とファイル内の「日付」をマッチングさせて該当日付に「予定内容」を書き込む $loop = @A; $i = 0; while($loop > 0){ if($A[$i] eq $plan_day){# $plan_day = "フォームからの情報(予定日)"; $A[$i] .= "$plan_value\r\n";# $plan_value = "フォームからの情報(予定内容)"; } $loop --; $i ++; } if(!open(OUT, "+< $file")){&error;}; flock(OUT, 2); truncate(OUT, 0); seek(OUT, 0, 0); print OUT @A; close(OUT); http://medaka.5ch.net/test/read.cgi/php/1049514428/590
591: nobodyさん [sage] 2006/06/06(火) 15:45:22 ID:??? >>589 まだちゃんと読んでないが…。 >if($MON == 1|3|5|7|8|10|12){ >}elsif($MON == 4|6|9|11){ これって比べてるのは、両方とも $MON == 15 だよね。 どっちの条件にも入らないと思うけど…正しく動作してるの? http://medaka.5ch.net/test/read.cgi/php/1049514428/591
592: nobodyさん [sage] 2006/06/06(火) 15:51:41 ID:??? >$a = sprintf("%04d%02d",$YEAR,$MON) セミコロンは? 動作するヤツうp http://medaka.5ch.net/test/read.cgi/php/1049514428/592
593: nobodyさん [sage] 2006/06/06(火) 15:52:34 ID:??? ビット演算子を使っているんだ。 高度だな。 http://medaka.5ch.net/test/read.cgi/php/1049514428/593
594: nobodyさん [sage] 2006/06/06(火) 16:09:34 ID:??? switch文を使うと見やすいんじゃないかな? use Switch switch ($MON) { case [1,3,5,7,8,10,12] { $m = 31 } case [4,6,9,11] { $m = 30 } case [2] { $m = $YEAR % 4 ? 28 : 29 } else { print "そんな月知らん" } } http://medaka.5ch.net/test/read.cgi/php/1049514428/594
595: 589 [sage] 2006/06/06(火) 16:39:31 ID:??? レス遅くなりました。すみません。 該当部分を切り出して動作するコードをUPしてきます。 http://medaka.5ch.net/test/read.cgi/php/1049514428/595
596: 589 [sage] 2006/06/06(火) 17:02:59 ID:??? ttp://up.isp.2ch.net/up/b2611f9a934e.zip UPしました。パスは「589」です。 日付のところは594さんのアドバイスにしたがって書き換えました。 アドバイスの方よろしくお願いします。 http://medaka.5ch.net/test/read.cgi/php/1049514428/596
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 76 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s