自作CGIを評価するスレ
511nobodyさん
03/12/26 21:46ID:??? 洒落だろ
513nobodyさん
03/12/31 15:09ID:OIDb7RDT514nobodyさん
04/01/05 13:20ID:8h9t8BrG515nobodyさん
04/01/12 07:57ID:fR13iSUk age
516nobodyさん
04/01/17 13:56ID:kOvCn6Ho518nobodyさん
04/01/17 18:12ID:??? 上と下に出てる「1」って何だ?
519nobodyさん
04/01/17 19:01ID:??? >>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://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
以下略
ヴァカですか?
521nobodyさん
04/01/18 02:22ID:??? ところで、ちゃんと評価してるのって最初のほうだけだね。
522nobodyさん
04/01/18 03:41ID:??? >>521
・ここは見た目じゃなくコードを評価するスレだ。
・use strict; しろ。
・perlstyle 読め。
・デカいの持ってきても面倒だから読まんぞ。
…のどれかに該当していたら、まともなレスは返ってこない。
・ここは見た目じゃなくコードを評価するスレだ。
・use strict; しろ。
・perlstyle 読め。
・デカいの持ってきても面倒だから読まんぞ。
…のどれかに該当していたら、まともなレスは返ってこない。
523nobodyさん
04/01/18 21:22ID:??? コードの見た目を評価するスレの間違い。
524>>516
04/01/25 15:17ID:yPaa9elS DirectoryIndexの設定をしているtoktokも問題かと思うが。
Forbiddenにしたみたいだけど、
せめてファイル名変えなよ。
Forbiddenにしたみたいだけど、
せめてファイル名変えなよ。
525nobodyさん
04/03/06 14:54ID:??? 誰も居ない……ケチつけるなら今のうち。
if-elsifの書き方、
if{
..
}elsif{
..
}
より
if{
..
}
elsif{
..
}
の方が俺にとっては読み易いんだコンチクショー。
if-elsifの書き方、
if{
..
}elsif{
..
}
より
if{
..
}
elsif{
..
}
の方が俺にとっては読み易いんだコンチクショー。
528nobodyさん
04/05/09 20:52ID:??? 例えば既成の掲示板の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
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
529528
04/05/09 21:13ID:??? すいません、上の奴.txtで終わってるのに何故か実行しようとしてエラーになるので
ファイル名変更しました。
アクセス解析 http://torihamlog.s55.xrea.com/search/axlog_pl.txt
ログビューワー http://torihamlog.s55.xrea.com/search/axlogv_cgi.txt
ファイル名変更しました。
アクセス解析 http://torihamlog.s55.xrea.com/search/axlog_pl.txt
ログビューワー http://torihamlog.s55.xrea.com/search/axlogv_cgi.txt
530nobodyさん
04/05/09 21:49ID:??? >>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 のマニュアル参照。
とりあえず 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 のマニュアル参照。
531nobodyさん
04/05/09 22:26ID:??? >>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
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
532528
04/05/10 19:23ID:??? >>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(); }
こうゆう風にしようと思っています。
評価ありがとうございます。
色々参考になります。
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(); }
こうゆう風にしようと思っています。
533nobodyさん
04/05/11 00:31ID:??? >>532
・CSS を変更する為にスクリプトを編集する危険を冒す必要がある。
・外部に CSS を持つのに対し、常に二倍の回数実行される。
・CSS を使い回す時に悩む事になる。
これらのデメリットを考慮の上で、なお一つにまとめるメリットの方が
勝ると判断したならいいんじゃないか?
・CSS を変更する為にスクリプトを編集する危険を冒す必要がある。
・外部に CSS を持つのに対し、常に二倍の回数実行される。
・CSS を使い回す時に悩む事になる。
これらのデメリットを考慮の上で、なお一つにまとめるメリットの方が
勝ると判断したならいいんじゃないか?
534528
04/05/14 20:45ID: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の設置とかできて、ほんのちょっとだけいじれる程度人向けのつもりです。
自己レス
すげー馬鹿なこと書いていた
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://www.tcn.ne.jp/~majima/dog/quiz.txt
【動作例】http://www.tcn.ne.jp/~majima/dog/quiz/quiz.cgi
添削して下しさい。
【スクリプト】http://www.tcn.ne.jp/~majima/dog/quiz.txt
【動作例】http://www.tcn.ne.jp/~majima/dog/quiz/quiz.cgi
538nobodyさん
04/07/04 05:12ID:??? >>535
もじゅーるは使えない鯖なんでつか?
使えるんなら使ったほうがいいでつよ。
Image::Magick、CGI、Jcode等々
何に使うのかは自分で調べてね。
EUCで書いたり表示したりしたほうがいいと思うけど、Shift_JISでやりたいのなら反対しないさ。
所々myを付けているが、どうせなら全部に付けちゃいな。
strictしろってこった。
ついでにHTML的にも4.01strict すれば?
もじゅーるは使えない鯖なんでつか?
使えるんなら使ったほうがいいでつよ。
Image::Magick、CGI、Jcode等々
何に使うのかは自分で調べてね。
EUCで書いたり表示したりしたほうがいいと思うけど、Shift_JISでやりたいのなら反対しないさ。
所々myを付けているが、どうせなら全部に付けちゃいな。
strictしろってこった。
ついでにHTML的にも4.01strict すれば?
539ager
04/07/09 18:40ID:??? age
540nobodyさん
04/10/08 20:39:40ID: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";
}
というようなデータが数行あるような場合
それらを読んできて切り分けるって処理を
してます。
これの評価お願いします。
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";
}
541nobodyさん
04/10/09 00:21:55ID:??? >>540
myで複数宣言するときは()がいる
hushじゃなくてたぶんhashね. 連想配列っていみなら
ハッシュのスライスを使うとエレガントかも
@hash{qw/title time contents/} = split /::/;
foreachつかえよ
for(...$#ref)
myで複数宣言するときは()がいる
hushじゃなくてたぶんhashね. 連想配列っていみなら
ハッシュのスライスを使うとエレガントかも
@hash{qw/title time contents/} = split /::/;
foreachつかえよ
for(...$#ref)
542540
04/10/09 02:08:52ID:??? 541>
>ハッシュのスライスを使うとエレガントかも
>@hash{qw/title time contents/} = split /::/;
ありがと、参考になりました。
my は複数でも()いりませんよ。バージョンによるだろうけど
最後に、今更foreach使ってる人いるんですか?w
>ハッシュのスライスを使うとエレガントかも
>@hash{qw/title time contents/} = split /::/;
ありがと、参考になりました。
my は複数でも()いりませんよ。バージョンによるだろうけど
最後に、今更foreach使ってる人いるんですか?w
543nobodyさん
04/10/09 02:43:14ID:??? >>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.
#--- 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.
544nobodyさん
04/10/09 03:20:52ID:??? >>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 を目指すならこだわる必要のない部分だと思うな。
>>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 を目指すならこだわる必要のない部分だと思うな。
545nobodyさん
04/10/09 05:06:54ID:??? >>540
%hush(多分hash?)の宣言の位置。
GCのコストを考慮した場合に、変数の再利用をするはあるけど...、
ループないで初期化してないとフィールドの数が少ない時に困るよ。
split/::/の代わりに正規表現を使ってデータを切り出すと、
データのチェックとsplitを同時にできて便利。
chompはデータ格納前に済ませておいた方が良いんじゃないかな。chomp(@tmp)
もしくは、大抵はファイルから読み込むだろうからその時に。
%hush(多分hash?)の宣言の位置。
GCのコストを考慮した場合に、変数の再利用をするはあるけど...、
ループないで初期化してないとフィールドの数が少ない時に困るよ。
split/::/の代わりに正規表現を使ってデータを切り出すと、
データのチェックとsplitを同時にできて便利。
chompはデータ格納前に済ませておいた方が良いんじゃないかな。chomp(@tmp)
もしくは、大抵はファイルから読み込むだろうからその時に。
546540
04/10/09 05:35:12ID:??? >>544
どうもありがとう。foreachは普通に使えるんだろうけど、
大抵forで済ませてしまうのです。言い方悪かったです、スイマセン。
>>545
ありがとうございます。
>ループないで初期化してないとフィールドの数が少ない時に困るよ。
というのは、forのループ内で undef(%hush); (ほんとはhashでしたw)
でいいですか?
あと、フィールドの数が少ない時というのはどういうことでしょうか?
>split/::/の代わりに正規表現を使ってデータを切り出すと
どう書いたらいいのか思いつきません。宜しかったらご教授下さい。
>chompはデータ格納前に済ませておいた方が良いんじゃないかな。
そうですね。
open(FH,"file_name");
@tmp = <FH>;
chomp(@tmp);
close(FH);
どうもありがとう。foreachは普通に使えるんだろうけど、
大抵forで済ませてしまうのです。言い方悪かったです、スイマセン。
>>545
ありがとうございます。
>ループないで初期化してないとフィールドの数が少ない時に困るよ。
というのは、forのループ内で undef(%hush); (ほんとはhashでしたw)
でいいですか?
あと、フィールドの数が少ない時というのはどういうことでしょうか?
>split/::/の代わりに正規表現を使ってデータを切り出すと
どう書いたらいいのか思いつきません。宜しかったらご教授下さい。
>chompはデータ格納前に済ませておいた方が良いんじゃないかな。
そうですね。
open(FH,"file_name");
@tmp = <FH>;
chomp(@tmp);
close(FH);
547541
04/10/09 11:14:32ID:???548540
04/10/09 12:28:12ID:??? my () つけなくてもエラー出てないです。 という事は
省略も可って事ではないでしょうか?
省略も可って事ではないでしょうか?
549nobodyさん
04/10/09 14:26:51ID:??? >>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.
エラーにならないのは 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.
550nobodyさん
04/10/09 17:41:00ID:??? >>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は教えてくれない。
> あと、フィールドの数が少ない時というのはどういうことでしょうか?
これは、今回のケースでは問題なかったです。
でも、変数を再利用する時は気を付けないと、前の値が残っていたり、
意図しない場所の値を書き換えてしまったりするので注意。
例えば、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は教えてくれない。
551nobodyさん
04/10/09 18:04:19ID:??? ここってものすごいでかいスクリプトでも細かい所まで見てくれるの?
552nobodyさん
04/10/09 18:09:49ID:??? >>550 何かおかしな日本語だった。訂正
s/他の方に/他の方からも/
あと、正規表現を使った方法を書き忘れてたのでついでに、、
例えば time が整数の場合の例
if (/^(.+)::(\d+)::(.+)$/) {
@hash{qw/title time contents/} = ($1, $2, $3)
}
s/他の方に/他の方からも/
あと、正規表現を使った方法を書き忘れてたのでついでに、、
例えば time が整数の場合の例
if (/^(.+)::(\d+)::(.+)$/) {
@hash{qw/title time contents/} = ($1, $2, $3)
}
555nobodyさん
04/10/09 22:37:35ID:??? 何書いたって叩かれるんだから、結城出していいと思う
556540
04/10/09 23:53:30ID:??? ほんとにこんなに色々な方が、教えてくださるとは思ってませんでした。
どうもありがとうございます。
特にエレガントな方法を教えてくださった542氏
ハイレベルな(少なくとも今の私には)指摘をしてくれた
545=550=552氏には感謝します。
その他あのようなケチなコードに意見を下さった方々ありがとう。
またお世話になるかもしれません。m(_ _)m
どうもありがとうございます。
特にエレガントな方法を教えてくださった542氏
ハイレベルな(少なくとも今の私には)指摘をしてくれた
545=550=552氏には感謝します。
その他あのようなケチなコードに意見を下さった方々ありがとう。
またお世話になるかもしれません。m(_ _)m
557nobodyさん
04/10/10 20:44:07ID:??? > my は複数でも()いりませんよ。バージョンによるだろうけど
> 最後に、今更foreach使ってる人いるんですか?w
こんなこと言うやつはもう来なくていい
> 最後に、今更foreach使ってる人いるんですか?w
こんなこと言うやつはもう来なくていい
558540
04/10/11 01:40:27ID:21NinhME ごめんね
561かぼ
04/10/22 19:30:44ID:EM8OHCfb563nobodyさん
05/01/23 00:46:42ID: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
評価というか不具合の問題です
初めてperl書いてみました。
簡易的な計算のプログラムを作ってみたんですがうまく動作しません。
ちょっと見て頂き、不具合等御指摘下さい
特定の計算式で、入力(1項目だけセレクトボックスにより選択)した数値を計算するものです。
ソース
http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20050123003423509.txt
URL
http://sr-cafe.chu.jp/kok/calc.html
564nobodyさん
05/01/23 03:00:10ID:3FhDUp9J565nobodyさん
05/01/23 13:10:26ID:???566nobodyさん
05/01/23 20:04:18ID:??? >>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; ← 最後に追加
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; ← 最後に追加
567nobodyさん
05/01/24 11:42:30ID:YsLCruPH >>566
改行コード2つとダブルクォーテーション必要無くね?
改行コード2つとダブルクォーテーション必要無くね?
568nobodyさん
05/01/24 12:10:13ID:??? \n\nはいらんね。
ヒアドキュメントのダブルクォートはどちらかというとあったほうが・・・
ヒアドキュメントのダブルクォートはどちらかというとあったほうが・・・
569563
05/01/25 02:27:15ID:???570nobodyさん
05/01/25 04:00:44ID:??? >>569
うちのサーバでスクリプト試したんだけどちゃんと動くぜ。
おまい、サーバに嫌われてるんだ。きっと。
問題は print <<END_OF_DATA 〜 END_OF_DATA までか、
まさかと思うがパーミッションか、perlの指定。
一度 print <<END_OF_DATA 〜 END_OF_DATA を
たいした行数じゃないんだし、print "〜\n"; に置き換えてみ。
それからコメント行やめろ。余計見づらくなる。
うちのサーバでスクリプト試したんだけどちゃんと動くぜ。
おまい、サーバに嫌われてるんだ。きっと。
問題は print <<END_OF_DATA 〜 END_OF_DATA までか、
まさかと思うがパーミッションか、perlの指定。
一度 print <<END_OF_DATA 〜 END_OF_DATA を
たいした行数じゃないんだし、print "〜\n"; に置き換えてみ。
それからコメント行やめろ。余計見づらくなる。
571566
05/01/25 04:01:58ID:??? >>569
今試したら566の変更だけで動いたわけだが。
Content-typeの行はそのままでも良いみたい。
動かないとしたらCGIの設置方法の問題。
まさかとは思うがローカルでテストしてるよね?
今試したら566の変更だけで動いたわけだが。
Content-typeの行はそのままでも良いみたい。
動かないとしたらCGIの設置方法の問題。
まさかとは思うがローカルでテストしてるよね?
572nobodyさん
05/01/25 04:03:19ID:??? →まさかとは思ってない法則
573566
05/01/25 04:07:06ID:??? つーか563のソースのままでも、ちゃんと結果出るじゃん。
問題はコードではない予感。
問題はコードではない予感。
574nobodyさん
05/01/25 04:14:49ID:??? >>573
経験で言うとさ、ヒアドキュメントはサーバの機嫌で、最初はうまく動作して
くれないことがある。Cookieなんか入れるとどうも変なんだよな。
そういうとき俺はメンドーでも print "〜\n" に置換えてやる。すると、あとは
「ヒアドキュメントでも読込んでやるかぁ」ってことでサーバは折り合ってくれる。
経験で言うとさ、ヒアドキュメントはサーバの機嫌で、最初はうまく動作して
くれないことがある。Cookieなんか入れるとどうも変なんだよな。
そういうとき俺はメンドーでも print "〜\n" に置換えてやる。すると、あとは
「ヒアドキュメントでも読込んでやるかぁ」ってことでサーバは折り合ってくれる。
576nobodyさん
05/01/25 04:34:21ID:??? いや、あるんだって。コード書く時も、こうした方が処理が楽だろ、とか
ムリしなくっていいから、とか気を使ってやると機嫌よくなる。ほんとだぜ。
ムリしなくっていいから、とか気を使ってやると機嫌よくなる。ほんとだぜ。
578nobodyさん
05/01/25 06:47:43ID:??? 577はコード丸写しで自作CGIと称してるだろw。
多かれ少なかれ576のような感じはあるな。
多かれ少なかれ576のような感じはあるな。
580nobodyさん
05/01/27 18:28:04ID:??? 皆さん本当スイマセンでした!
パーミッションの所為だった…
元のままでも566のコードでもどちらでも動きました。
>>571-572
そのとおりです。
ローカルでテスト出来るという事すら知りませんでした。
勉強します。
パーミッションの所為だった…
元のままでも566のコードでもどちらでも動きました。
>>571-572
そのとおりです。
ローカルでテスト出来るという事すら知りませんでした。
勉強します。
581nobodyさん
2005/06/06(月) 19:56:57ID:??? ねるねるねるねは Ψ(`∀´)Ψイッヒッヒッヒッヒ
_▲_
ねればねるほど ((φ(..。) 色が変わって
_▲_
こうやってつけて р(゚Д゚ )
*_▲_*
ウマイ━━━*━ヘ(゚∀゚)ヘ━*━━━━!!!! テ-レッテレ-♪
_▲_
ねればねるほど ((φ(..。) 色が変わって
_▲_
こうやってつけて р(゚Д゚ )
*_▲_*
ウマイ━━━*━ヘ(゚∀゚)ヘ━*━━━━!!!! テ-レッテレ-♪
583nobodyさん
2005/09/21(水) 17:05:52ID:54UaWl8q age
584nobodyさん
2006/05/18(木) 17:31:45ID:Ip4qBE+B ttp://c.hibi.info/Apple-1.zip
どなたか評価(清書?)お願いします_ _
指定されたスレの中から前日から当日までの既定の時間にあるレスを抽出して、
そのレスから株価コードを抜き出し株価の前日比、前日比率でソートしランキングを作成した後スレに書き込むツールです。
2chへの書き込み時のCookiee処理に曖昧な点があるのと、処理の最適化をして貰えると嬉しいです。
宜しくお願いします_ _
どなたか評価(清書?)お願いします_ _
指定されたスレの中から前日から当日までの既定の時間にあるレスを抽出して、
そのレスから株価コードを抜き出し株価の前日比、前日比率でソートしランキングを作成した後スレに書き込むツールです。
2chへの書き込み時のCookiee処理に曖昧な点があるのと、処理の最適化をして貰えると嬉しいです。
宜しくお願いします_ _
585nobodyさん
2006/05/18(木) 22:33:53ID:??? 他のスレから来ました。
Perlで他のサイトを取得して表示したいと思っています。
(著作権侵害とかそういうことをしたいのではないです)
お時間のある方にお願いしますが、次のコードで@niftyのトップページを取得してみたら
どうなるか教えていただけませんでしょうか?
print "Content-Type: text/html\n";
print "\n";
use LWP::Simple;
print get( 'http://www.nifty.com/' );
私のところだと、ブラウザ上での表示がぐちゃぐちゃになるんですが…。
Perlで他のサイトを取得して表示したいと思っています。
(著作権侵害とかそういうことをしたいのではないです)
お時間のある方にお願いしますが、次のコードで@niftyのトップページを取得してみたら
どうなるか教えていただけませんでしょうか?
print "Content-Type: text/html\n";
print "\n";
use LWP::Simple;
print get( 'http://www.nifty.com/' );
私のところだと、ブラウザ上での表示がぐちゃぐちゃになるんですが…。
586nobodyさん
2006/05/18(木) 22:56:52ID:??? >585
マルチポストすんな
マルチポストすんな
>>585は私じゃないです。スルーしてください。
588nobodyさん
2006/06/06(火) 15:21:29ID:Re1RmuFG 簡易予定表のようなものを組んでみたんですが、なんだかモッサリしてる気がします。
もっと簡潔に書けるような気がするんですが自分ではこれが限界でした。
あと、ファイルロックのやり方が合っているのか自信がありません。
一応動いていることは動いているんですが、問題はないでしょうか。
改良すべき点、根本的にこういう書き方に直した方が良い、とかあればアドバイスお願いします。
大まかな内容は以下のようなものです。
予定として保存する内容は「予定日(月と日)」と
「予定内容(長くても200バイト程度)」の2つでフォームから渡します。
予定を保存するファイルは月単位で作成します。
例えば2006年6月の予定の場合なら「200606.txt」というファイル名です。
保存するファイルがないときはその都度作成し、
6月1日
6月2日
6月3日
.
.
.
という風に日付だけを先に入れておきます。
保存するファイルがあるときは、
フォームから渡された「予定日」とマッチした日付の次の行に「予定内容」を書き込みます。
内容は以上です。次レスにコードを晒します。
もっと簡潔に書けるような気がするんですが自分ではこれが限界でした。
あと、ファイルロックのやり方が合っているのか自信がありません。
一応動いていることは動いているんですが、問題はないでしょうか。
改良すべき点、根本的にこういう書き方に直した方が良い、とかあればアドバイスお願いします。
大まかな内容は以下のようなものです。
予定として保存する内容は「予定日(月と日)」と
「予定内容(長くても200バイト程度)」の2つでフォームから渡します。
予定を保存するファイルは月単位で作成します。
例えば2006年6月の予定の場合なら「200606.txt」というファイル名です。
保存するファイルがないときはその都度作成し、
6月1日
6月2日
6月3日
.
.
.
という風に日付だけを先に入れておきます。
保存するファイルがあるときは、
フォームから渡された「予定日」とマッチした日付の次の行に「予定内容」を書き込みます。
内容は以上です。次レスにコードを晒します。
589nobodyさん
2006/06/06(火) 15:22:42ID:??? # 保存するファイル名
$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";
}
$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";
}
590後半
2006/06/06(火) 15:23:17ID:??? # 該当する月のファイルがなければ作成
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);
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);
591nobodyさん
2006/06/06(火) 15:45:22ID:??? >>589
まだちゃんと読んでないが…。
>if($MON == 1|3|5|7|8|10|12){
>}elsif($MON == 4|6|9|11){
これって比べてるのは、両方とも $MON == 15 だよね。
どっちの条件にも入らないと思うけど…正しく動作してるの?
まだちゃんと読んでないが…。
>if($MON == 1|3|5|7|8|10|12){
>}elsif($MON == 4|6|9|11){
これって比べてるのは、両方とも $MON == 15 だよね。
どっちの条件にも入らないと思うけど…正しく動作してるの?
592nobodyさん
2006/06/06(火) 15:51:41ID:??? >$a = sprintf("%04d%02d",$YEAR,$MON)
セミコロンは?
動作するヤツうp
セミコロンは?
動作するヤツうp
593nobodyさん
2006/06/06(火) 15:52:34ID:??? ビット演算子を使っているんだ。
高度だな。
高度だな。
594nobodyさん
2006/06/06(火) 16:09:34ID:??? 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 "そんな月知らん" }
}
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 "そんな月知らん" }
}
595589
2006/06/06(火) 16:39:31ID:??? レス遅くなりました。すみません。
該当部分を切り出して動作するコードをUPしてきます。
該当部分を切り出して動作するコードをUPしてきます。
596589
2006/06/06(火) 17:02:59ID:??? ttp://up.isp.2ch.net/up/b2611f9a934e.zip
UPしました。パスは「589」です。
日付のところは594さんのアドバイスにしたがって書き換えました。
アドバイスの方よろしくお願いします。
UPしました。パスは「589」です。
日付のところは594さんのアドバイスにしたがって書き換えました。
アドバイスの方よろしくお願いします。
597589
2006/06/06(火) 17:11:06ID:???598nobodyさん
2006/06/06(火) 17:20:53ID:??? いやperlではswitchは使えない。
599nobodyさん
2006/06/06(火) 17:24:17ID:??? Switch なんてモジュールがあるのか知らんかった。
600nobodyさん
2006/06/06(火) 18:59:27ID:??? cgi-lib.pl ktkr
601nobodyさん
2006/06/07(水) 00:26:35ID:??? PerlはPHPとは違ってCPANを探せば考えられる大体の車輪は既にある。
602nobodyさん
2006/06/20(火) 01:54:40ID:jChy1x4Z >>596
見れない・・
見れない・・
603nobodyさん
2006/07/08(土) 12:44:17ID:hGiPCYN9 switchがあったとは・・・
604nobodyさん
2006/07/21(金) 16:23:10ID:BWWkPiVe605nobodyさん
2006/10/07(土) 10:40:01ID:L17fbc1O @@@
特定の板のスレタイ検索をして、選んだスレから画像とかのサムネイルを表示するスクリプトを書いてみまスた(・ω・`)
恐ろしく見づらいと重いまスが・・
http://vip.ty.land.to/image/
http://pc8.2ch.net/test/read.cgi/php/1160569533/
でボチボチいじくったり、新しいことやったりしていきたいと思ってまスが、評価して欲しいス(・ω・`)
勉強かねてるので、車輪の再開発なのは承知でス
恐ろしく見づらいと重いまスが・・
http://vip.ty.land.to/image/
http://pc8.2ch.net/test/read.cgi/php/1160569533/
でボチボチいじくったり、新しいことやったりしていきたいと思ってまスが、評価して欲しいス(・ω・`)
勉強かねてるので、車輪の再開発なのは承知でス
607nobodyさん
2006/10/11(水) 23:36:54ID:??? >>606
言葉遣い荒いけど、ばーっと書いた弊害なので許して。
取りあえずぱっとみてこんなもん。
・一部のうpろだは、リファラが不味いと弾かれる。
・画像がない場合の画像を一々作るのは無駄。
・CGIモジュール使え。
・グローバル変数も宣言しろ。
・これは好みだけど、設定の変数はハッシュに纏めた方が分かりやすいこともある。
・メインの流れはブロック作ってラベル付けた方が分かりやすいかも。
・正規表現の|は案外コストがかかる。配列にしてマッチング。
・先頭にrequire バージョン名;
・use warningsは〜?
・汚染チェックもきれい好きな方にはオススメ。
・サブルーチンを先頭で宣言して欲しい。
・変数名に日本語はいやん。
・データーベースつかってほすぃ。
言葉遣い荒いけど、ばーっと書いた弊害なので許して。
取りあえずぱっとみてこんなもん。
・一部のうpろだは、リファラが不味いと弾かれる。
・画像がない場合の画像を一々作るのは無駄。
・CGIモジュール使え。
・グローバル変数も宣言しろ。
・これは好みだけど、設定の変数はハッシュに纏めた方が分かりやすいこともある。
・メインの流れはブロック作ってラベル付けた方が分かりやすいかも。
・正規表現の|は案外コストがかかる。配列にしてマッチング。
・先頭にrequire バージョン名;
・use warningsは〜?
・汚染チェックもきれい好きな方にはオススメ。
・サブルーチンを先頭で宣言して欲しい。
・変数名に日本語はいやん。
・データーベースつかってほすぃ。
>>607
おぉぉぉレスもらえたス(;ω;`)アリガタイ
感謝しまス!
>・正規表現の|は案外コストがかかる。配列にしてマッチング。
>・先頭にrequire バージョン名;
>・use warningsは〜?
>・サブルーチンを先頭で宣言して欲しい。
良くわからないス(・ω・`)
>・変数名に日本語はいやん。
英語苦手ス・・・毎度翻訳スかね・・頑張るス
>・データーベースつかってほすぃ。
現在勉強中でス!
生暖かい目で見守ってやってくださいス・・(・ω・`)
やっぱレベル高い人の意見は参考になるス!
文句なし!って言われるようなものをいつか作りたいス(・ω・`)thnkス
おぉぉぉレスもらえたス(;ω;`)アリガタイ
感謝しまス!
>・正規表現の|は案外コストがかかる。配列にしてマッチング。
>・先頭にrequire バージョン名;
>・use warningsは〜?
>・サブルーチンを先頭で宣言して欲しい。
良くわからないス(・ω・`)
>・変数名に日本語はいやん。
英語苦手ス・・・毎度翻訳スかね・・頑張るス
>・データーベースつかってほすぃ。
現在勉強中でス!
生暖かい目で見守ってやってくださいス・・(・ω・`)
やっぱレベル高い人の意見は参考になるス!
文句なし!って言われるようなものをいつか作りたいス(・ω・`)thnkス
609nobodyさん
2006/10/12(木) 04:41:48ID:??? >>606
うる覚えなんだが
if($i_m_f){
use Image::Magick;
}
これって意味ないんじゃなかったっけ?
$i_m_fが真ならImage::Magickを使うって事なんだろうけど、
この書き方だと$i_m_fが偽でもImage::Magick呼ぶんじゃなかったっけ?
識者の方レスよろ
ファイルハンドルは大文字で
最後から10行目くらい@cache[$i]は$cache[$i]じゃないの?
print文中の"をエスケープするんならprint qq|ここに"文章"|;
こーすりゃいちいちエスケープしなくておk
うる覚えなんだが
if($i_m_f){
use Image::Magick;
}
これって意味ないんじゃなかったっけ?
$i_m_fが真ならImage::Magickを使うって事なんだろうけど、
この書き方だと$i_m_fが偽でもImage::Magick呼ぶんじゃなかったっけ?
識者の方レスよろ
ファイルハンドルは大文字で
最後から10行目くらい@cache[$i]は$cache[$i]じゃないの?
print文中の"をエスケープするんならprint qq|ここに"文章"|;
こーすりゃいちいちエスケープしなくておk
>>609
サンクス
>最後から10行目くらい@cache[$i]は$cache[$i]じゃないの?
どちらも同じ意味だったはず
(若干の差はあるかもだが、使い方に大差なしでは?)
>print文中の"をエスケープするんならprint qq|ここに"文章"|;
>こーすりゃいちいちエスケープしなくておk
mjdsk!?
次から挑戦してみる
色々アドバイスやら素敵な解決策をありがとう
サンクス
>最後から10行目くらい@cache[$i]は$cache[$i]じゃないの?
どちらも同じ意味だったはず
(若干の差はあるかもだが、使い方に大差なしでは?)
>print文中の"をエスケープするんならprint qq|ここに"文章"|;
>こーすりゃいちいちエスケープしなくておk
mjdsk!?
次から挑戦してみる
色々アドバイスやら素敵な解決策をありがとう
611nobodyさん
2006/10/12(木) 13:46:42ID:??? useするかどうか切り替えたいなら
BEGIN{}で囲ったほうがいいな。
BEGIN{}で囲ったほうがいいな。
612nobodyさん
2006/10/12(木) 22:51:01ID:??? >>609
>うる覚えなんだが
http://www.tt.rim.or.jp/~rudyard/hirago014.html
> これって意味ないんじゃなかったっけ?
http://perldoc.jp/docs/perl/5.6.1/perlfunc.pod#item_use_Module_VERSION_LIST
> ファイルハンドルは大文字で
bareword で扱わず変数で取り回す方が今風。
http://www.kt.rim.or.jp/~kbk/perl-5.8/perlfaq5.html#how_can_i_make_a_filehandle_local_to_a_subroutine_how_do_i_pass_filehandles_between_subroutines_how_do_i_make_an_array_of_filehandles
>>610
> どちらも同じ意味だったはず
http://www.kt.rim.or.jp/~kbk/perl-5.8/perlfaq4.html#what_is_the_difference_between__array_1__and__array_1_
>うる覚えなんだが
http://www.tt.rim.or.jp/~rudyard/hirago014.html
> これって意味ないんじゃなかったっけ?
http://perldoc.jp/docs/perl/5.6.1/perlfunc.pod#item_use_Module_VERSION_LIST
> ファイルハンドルは大文字で
bareword で扱わず変数で取り回す方が今風。
http://www.kt.rim.or.jp/~kbk/perl-5.8/perlfaq5.html#how_can_i_make_a_filehandle_local_to_a_subroutine_how_do_i_pass_filehandles_between_subroutines_how_do_i_make_an_array_of_filehandles
>>610
> どちらも同じ意味だったはず
http://www.kt.rim.or.jp/~kbk/perl-5.8/perlfaq4.html#what_is_the_difference_between__array_1__and__array_1_
あちこちから routin をかき集めて自作しました :
alter.s225.xrea.com/cgi/bbs/read.cgi?log=0
1. 評価と言うよりも bug の あぶり出しを希望します.
2. 操作がわかりづらいとの意見があります.
率直な ご意見をお願いいたします
3. 自信がないのが security 関連
・ 念のため, 全ファイルを upload しておきます:
alter.s225.xrea.com/bbs.zip
alter.s225.xrea.com/cgi/bbs/read.cgi?log=0
1. 評価と言うよりも bug の あぶり出しを希望します.
2. 操作がわかりづらいとの意見があります.
率直な ご意見をお願いいたします
3. 自信がないのが security 関連
・ 念のため, 全ファイルを upload しておきます:
alter.s225.xrea.com/bbs.zip
615nobodyさん
2006/11/07(火) 08:23:24ID:??? IDなんだしもっと短く付けろよなw
文章そのままって酷すぎるw
文章そのままって酷すぎるw
618nobodyさん
2006/11/08(水) 10:54:37ID:??? >>618
>CGI以前の問題ね
確かに... JavaScrit の bug がぁ〜〜〜
(絶対に書き込めない)
おまけに... WaMCom (Mozilla1.31) では問題とならなかった error が
IE5.17(Mac版) では発生して処理が止まる〜〜〜.
>613は釣りとしか思えない
釣りでは ありませぬ.
僕の環境で確認できる bug は退治しました.
引き続き あら探しをお願いいたしまする〜.
>CGI以前の問題ね
確かに... JavaScrit の bug がぁ〜〜〜
(絶対に書き込めない)
おまけに... WaMCom (Mozilla1.31) では問題とならなかった error が
IE5.17(Mac版) では発生して処理が止まる〜〜〜.
>613は釣りとしか思えない
釣りでは ありませぬ.
僕の環境で確認できる bug は退治しました.
引き続き あら探しをお願いいたしまする〜.
620nobodyさん
2006/11/08(水) 20:37:07ID:??? つっこみどころが多すぎるなぁ…。
まず、「何を作ったのか」という概要や大まかな処理の流れすら書いてない。
>評価と言うよりも bug の あぶり出しを希望します.
評価するスレ。デバッグする所ではない。てか、デバッグなめすぎ。
>操作がわかりづらいとの...
具体的にはどういう操作?
>自信がないのが security 関連
どのファイルの何行目のどういう処理?
>JavaScrit の bug がぁ
JavaScritのスレへどうぞ。
>WaMCom (Mozilla1.31) では問題とならなかった error が
>IE5.17(Mac版) では発生して処理が止まる
と書いていながら
>僕の環境で確認できる bug は退治しました
ってどうよ。
何より、CGIについて無学なのがバレバレです。
背伸びせずPerlからでもきちんとお勉強しましょう。
まず、「何を作ったのか」という概要や大まかな処理の流れすら書いてない。
>評価と言うよりも bug の あぶり出しを希望します.
評価するスレ。デバッグする所ではない。てか、デバッグなめすぎ。
>操作がわかりづらいとの...
具体的にはどういう操作?
>自信がないのが security 関連
どのファイルの何行目のどういう処理?
>JavaScrit の bug がぁ
JavaScritのスレへどうぞ。
>WaMCom (Mozilla1.31) では問題とならなかった error が
>IE5.17(Mac版) では発生して処理が止まる
と書いていながら
>僕の環境で確認できる bug は退治しました
ってどうよ。
何より、CGIについて無学なのがバレバレです。
背伸びせずPerlからでもきちんとお勉強しましょう。
621nobodyさん
2006/11/08(水) 20:38:25ID:??? これさぁ、変数の検査とか書き込む条件とかまったくないじゃん。
最低でも変なファイル作られないようにするとか異常にでかい投稿は
書き込まないようにするとかしないと。
叩き専門の人にとっては叩く必要もないほどへなちょこだけど
プログラムに日本語を含めないつくりはいいと思う。
プロでもソースのいたるところに日本語を埋め込む人はいるからね。
ぶっちゃけそれくらいしか褒めようがないんだけどw
nullぽっぽはもしかしてOperaメインなの?
最低でも変なファイル作られないようにするとか異常にでかい投稿は
書き込まないようにするとかしないと。
叩き専門の人にとっては叩く必要もないほどへなちょこだけど
プログラムに日本語を含めないつくりはいいと思う。
プロでもソースのいたるところに日本語を埋め込む人はいるからね。
ぶっちゃけそれくらいしか褒めようがないんだけどw
nullぽっぽはもしかしてOperaメインなの?
622nobodyさん
2006/11/08(水) 21:25:25ID:???623nobodyさん
2006/11/09(木) 02:37:09ID:??? nullはクラシックMacのiCab使いだった筈。
624nobodyさん
2006/11/09(木) 05:11:43ID:Rlngnc6w まず, 皆さんにお礼を...
ありがとう ごぜ〜ますだ.
>>620
一応, 掲示板 CGI script (のつもり)
>デバッグする所ではない
言葉を間違えたかも ?
debug を他人に依頼するようでは問題外だと思っております.
動作はするけれど server 利用者に迷惑を書けるような
security hole に気づいていないかも知れない.
そんな問題があったら指摘して欲しかったですだ.
>>621
>変数の検査とか書き込む条件とかまったくないじゃん
おおせの通りです.
ようするに書きこみの部分を改良しなければならないのね ?
で, read.cgi の方は どうでしょう ?
人に迷惑を書けるような security hole が あったなら ご指摘くださいませ.
>CGIについて無学なのがバレバレです
弁解の余地もありません.
でも, 半端者の僕が言うのもアレですが
拾って来れるものには満足できなかったのら.
そもそも perl って できの悪い土台に無理な建て増しをした印象が...
ありがとう ごぜ〜ますだ.
>>620
一応, 掲示板 CGI script (のつもり)
>デバッグする所ではない
言葉を間違えたかも ?
debug を他人に依頼するようでは問題外だと思っております.
動作はするけれど server 利用者に迷惑を書けるような
security hole に気づいていないかも知れない.
そんな問題があったら指摘して欲しかったですだ.
>>621
>変数の検査とか書き込む条件とかまったくないじゃん
おおせの通りです.
ようするに書きこみの部分を改良しなければならないのね ?
で, read.cgi の方は どうでしょう ?
人に迷惑を書けるような security hole が あったなら ご指摘くださいませ.
>CGIについて無学なのがバレバレです
弁解の余地もありません.
でも, 半端者の僕が言うのもアレですが
拾って来れるものには満足できなかったのら.
そもそも perl って できの悪い土台に無理な建て増しをした印象が...
>>621
>プログラムに日本語を含めないつくりはいいと思う
日本語を書きこむと文字化けするのでwww (僕の環境は一般的でない)
僕なりに いろいろ拾って来て解読を試みました.
その時, "皮肉にも comment が見通しを悪くしている" と思ったの.
徹底的に簡素化するのが先決だと...
> nullぽっぽはもしかしてOperaメインなの?
MacOS9.22 上で まともに動く Opera はなさそうです.
現在は WaMCom(Mozilla1.31+) がメインですだ.
動作確認に iCab, IE も立ち上げることがありますが,
あくまでも参考程度です.
>>622
メモメモ...
>>623
今では動作確認の参考程度ですだ.
改良されたかと思うと別の不具合が発生するのが許せません.
>プログラムに日本語を含めないつくりはいいと思う
日本語を書きこむと文字化けするのでwww (僕の環境は一般的でない)
僕なりに いろいろ拾って来て解読を試みました.
その時, "皮肉にも comment が見通しを悪くしている" と思ったの.
徹底的に簡素化するのが先決だと...
> nullぽっぽはもしかしてOperaメインなの?
MacOS9.22 上で まともに動く Opera はなさそうです.
現在は WaMCom(Mozilla1.31+) がメインですだ.
動作確認に iCab, IE も立ち上げることがありますが,
あくまでも参考程度です.
>>622
メモメモ...
>>623
今では動作確認の参考程度ですだ.
改良されたかと思うと別の不具合が発生するのが許せません.
ところで rgst.cgi で変なファイルを作れる可能性って ?
(これこそが最も知りたいところ)
量の制限は早急に対処したいと思いますが...
(これこそが最も知りたいところ)
量の制限は早急に対処したいと思いますが...
627nobodyさん
2006/11/09(木) 16:01:13ID:??? nullは呼んでない
629nobodyさん
2006/11/09(木) 19:51:53ID:??? 利用者から見えない変数名、関数名を縮める意味があるのかと小一時間。
630nobodyさん
2006/11/09(木) 22:54:18ID:??? Perlにケチつけるまえに自分の頭の程度を疑えよな
631nobodyさん
2006/11/09(木) 23:12:35ID:??? 日本語のコメントを入れないのが良いって…
なにその英語はカッコイイ、日本語はダサいっていう中学生wwwww
それに、日本人なんだから直感的にわかりやすい日本語で注釈をつけておくのが、
あとを引き続く人へのマナーだと思うんだが。
なにその英語はカッコイイ、日本語はダサいっていう中学生wwwww
それに、日本人なんだから直感的にわかりやすい日本語で注釈をつけておくのが、
あとを引き続く人へのマナーだと思うんだが。
632nobodyさん
2006/11/09(木) 23:15:19ID:??? English is cool!!
予想していたとはいえ, ボロボロだなぁ.
まあ, 他人様に使ってもらおうとするのなら それなりの配慮が必要だろう.
しかし, 僕は自分のために作ったんだ.
最低限, 同じ server 利用者に迷惑を書けない配慮をすれば済む話なんだ.
僕が知りたかったのはその部分に問題があるかどうか なんだけど,
話は あらぬ方向に...
まあ, 他人様に使ってもらおうとするのなら それなりの配慮が必要だろう.
しかし, 僕は自分のために作ったんだ.
最低限, 同じ server 利用者に迷惑を書けない配慮をすれば済む話なんだ.
僕が知りたかったのはその部分に問題があるかどうか なんだけど,
話は あらぬ方向に...
634nobodyさん
2006/11/09(木) 23:45:04ID:??? 率直に言ってゴミ.基本から勉強し直した方がいい.
というかまずは普通の学校の勉強を頑張った方がいい.
というかまずは普通の学校の勉強を頑張った方がいい.
635nobodyさん
2006/11/09(木) 23:46:24ID:??? ひとつだけヒントを.
> read(STDIN,$u,$ENV{'CONTENT_LENGTH'});
たとえ寝ぼけて他としてもこの一行を書いてしまうようでは CGI 書くのは辞め
た方がいい.
> read(STDIN,$u,$ENV{'CONTENT_LENGTH'});
たとえ寝ぼけて他としてもこの一行を書いてしまうようでは CGI 書くのは辞め
た方がいい.
636nobodyさん
2006/11/10(金) 03:57:46ID:??? プログラムの途中に文字列リテラルを埋め込むな、というなら解らないでもない。
ただ、それは日本語に限った事じゃないな。
ただ、それは日本語に限った事じゃないな。
638nobodyさん
2006/11/10(金) 07:10:46ID:??? まだ分かってないみたいだね.
>>この一行を書いてしまうようでは CGI 書くのは辞めた方がいい
>して, その理由は ?
セキュリティホールになるから.理由は自分の頭で考えなさい.
>それと read.cgi に security hole は ないのかどうかが知りたいのだけどなぁ.
当然ある.
>>この一行を書いてしまうようでは CGI 書くのは辞めた方がいい
>して, その理由は ?
セキュリティホールになるから.理由は自分の頭で考えなさい.
>それと read.cgi に security hole は ないのかどうかが知りたいのだけどなぁ.
当然ある.
639nobodyさん
2006/11/10(金) 07:14:05ID:??? >>637
よく分かっていないようだからキミがすべきことを具体的に言おう。
スクリプト冒頭の#!/usr/local/bin/perlを、
#!/usr/local/bin/perl -T
use strict;
use warnings;
に書き換えてデバッグしなさい。
よく分かっていないようだからキミがすべきことを具体的に言おう。
スクリプト冒頭の#!/usr/local/bin/perlを、
#!/usr/local/bin/perl -T
use strict;
use warnings;
に書き換えてデバッグしなさい。
640nobodyさん
2006/11/10(金) 11:09:25ID:??? n u l l は 出 て 行 け
641nobodyさん
2006/11/10(金) 11:30:01ID:???642nobodyさん
2006/11/10(金) 11:46:05ID:??? >read(STDIN,$u,$ENV{'CONTENT_LENGTH'});
この一行は書いてもいいよ。その前の行で$ENV{'CONTENT_LENGTH'}の最大値を
決めてチェックしていればね。
この一行は書いてもいいよ。その前の行で$ENV{'CONTENT_LENGTH'}の最大値を
決めてチェックしていればね。
643606
2006/11/10(金) 12:23:56ID:??? >>637
人に物事を頼む態度じゃないよね?
こっちはみんな善意で見てるってこと忘れてる?
嫌なら他行ったら?
最初に自分で書いてたみたいだけど、他人のソースのつぎはぎスクリプトでしょ?
何の価値があるの?
まずはダサくてもきちんと問題なく動く物を作ることからじゃない?
利用者のことを考えないスクリプトなんて糞だと思います。
人に物事を頼む態度じゃないよね?
こっちはみんな善意で見てるってこと忘れてる?
嫌なら他行ったら?
最初に自分で書いてたみたいだけど、他人のソースのつぎはぎスクリプトでしょ?
何の価値があるの?
まずはダサくてもきちんと問題なく動く物を作ることからじゃない?
利用者のことを考えないスクリプトなんて糞だと思います。
644606
2006/11/10(金) 12:26:14ID:??? ちなみにおいらのほうは、鯖が不調で繋がりません。
どうにもならんのでしばらく放置〜
まだ様子見てくれてる人とかいるのだろうか・・・
もし居たら感謝
どうにもならんのでしばらく放置〜
まだ様子見てくれてる人とかいるのだろうか・・・
もし居たら感謝
645nobodyさん
2006/11/10(金) 14:20:19ID:??? 自分がよく理解していない言語で書いたプログラムを
なぜ共用サーバーで使おうと思えるのか、その神経が理解できない。
プログラムよりも、その意識や存在自体が危険。
なぜ共用サーバーで使おうと思えるのか、その神経が理解できない。
プログラムよりも、その意識や存在自体が危険。
646nobodyさん
2006/11/10(金) 16:16:14ID:??? >>637
>なんだか僕の質問に きちんと答えた回答はない
「きちんと答えた回答」があることにさえ気付けてないだけ。
自分の無知を棚に上げておきながら、
コードに目を通してマジレスしてくれた住人に対して
>ここを当てにした僕が愚か者ってことですかい?
とは随分とご挨拶だな。
ま、オレが見た限りでは
お前の掲示板CGIscriptには何のsecurity holeもないよ。
安心して使って良い。オレが保証する。
>なんだか僕の質問に きちんと答えた回答はない
「きちんと答えた回答」があることにさえ気付けてないだけ。
自分の無知を棚に上げておきながら、
コードに目を通してマジレスしてくれた住人に対して
>ここを当てにした僕が愚か者ってことですかい?
とは随分とご挨拶だな。
ま、オレが見た限りでは
お前の掲示板CGIscriptには何のsecurity holeもないよ。
安心して使って良い。オレが保証する。
648nobodyさん
2006/11/10(金) 19:08:49ID:??? でも実際「大丈夫、何の問題もないよ」としかレスされてなかったら、
ということを◆.PT9876/4Uは考えてみた方が良い。
645も指摘してる通り、今の時点では自分にその言葉が正しいのかどうかすらも
判断できないのに、共用サーバーで自作CGIを使おうとしていることがどれだけ危険か考えてみろ。
極端なことを言えば、それらしい説明があって「これを書き足した方が良い」と言われれば、
それが危険なコードであっても追記してしまうんじゃないのか?
少なくともこれだけマジレスしてくれたり
お世辞にも読みやすいとは言えないようなコードを読んでくれただけでも感謝すべきなのに
「まずこれをやれ」と言われたことはやらず、
自分のレベルの低さを指摘されると反省するどころか逆ギレして
637のような皮肉と煽りに満ちたようなレスしかできないことを恥ずかしいとは思わないのか?
ということを◆.PT9876/4Uは考えてみた方が良い。
645も指摘してる通り、今の時点では自分にその言葉が正しいのかどうかすらも
判断できないのに、共用サーバーで自作CGIを使おうとしていることがどれだけ危険か考えてみろ。
極端なことを言えば、それらしい説明があって「これを書き足した方が良い」と言われれば、
それが危険なコードであっても追記してしまうんじゃないのか?
少なくともこれだけマジレスしてくれたり
お世辞にも読みやすいとは言えないようなコードを読んでくれただけでも感謝すべきなのに
「まずこれをやれ」と言われたことはやらず、
自分のレベルの低さを指摘されると反省するどころか逆ギレして
637のような皮肉と煽りに満ちたようなレスしかできないことを恥ずかしいとは思わないのか?
651nobodyさん
2006/11/10(金) 19:36:37ID:??? 36
652nobodyさん
2006/11/10(金) 20:12:51ID:??? age
653nobodyさん
2006/11/10(金) 20:53:05ID:???654nobodyさん
2006/11/10(金) 20:57:05ID:??? 情報系の大学院でまともな教育受けた人間なら気持ち悪いとは思わない気がする.
気持ち悪がるのは専門学校程度しか行けなかったやつか基本をろくに知らない文系プログラマじゃね?
気持ち悪がるのは専門学校程度しか行けなかったやつか基本をろくに知らない文系プログラマじゃね?
655nobodyさん
2006/11/10(金) 21:14:08ID:??? おかしいな、ここは日本語で話しをする場所じゃなかったのか?
いつから自分の投稿を論文調で発表する場になったんだ?
とりあえず、読みづらい。
読み手を考えないのは、物づくりで使い手を考えないのと同じ。
邪魔
いつから自分の投稿を論文調で発表する場になったんだ?
とりあえず、読みづらい。
読み手を考えないのは、物づくりで使い手を考えないのと同じ。
邪魔
656nobodyさん
2006/11/10(金) 21:28:17ID:??? あれだ、脳内補完で「,」も「.」も消し去っていた件
657nobodyさん
2006/11/10(金) 21:39:13ID:??? 別にそんなに気にする程のことでもないだろ。
ウザイのは句読点じゃなくてnullの存在なだけなんだし。
ウザイのは句読点じゃなくてnullの存在なだけなんだし。
sub file_read {
my $a = $_[0];
open( FH , $a );
while (<FH>) {
print;
}
close FH;
}
こんなサブルーチンを作ったのですがうまく動きません
なぜですか?
my $a = $_[0];
open( FH , $a );
while (<FH>) {
print;
}
close FH;
}
こんなサブルーチンを作ったのですがうまく動きません
なぜですか?
663nobodyさん
2006/12/04(月) 16:34:03ID:??? さすがに句読点でいちゃもんをつけるのはどうかと思う。
664nobodyさん
2010/02/26(金) 22:46:54ID:1vcgNIKQ ping
665○~
2010/02/26(金) 23:15:50ID:1vcgNIKQ 性懲りもなく, 評価依頼:
ttp://homepage2.nifty.com/alter/
・ 以前指摘された部分には一応, 対策を施したつもりっす.
・ CGI は perl script で, HTML の代わりに外部 js ファイルを吐き出す仕様.
(Ajax と違って, web-browser の影響が なく, 文字コードの問題も回避できる)
・ script 内の HTML 記述が皆無なので見通しが良く, 動作も軽快.
ただ, 注意して作ったつもりですが,
見落とした bug が潜んでいる可能性が大きいっす.
ttp://homepage2.nifty.com/alter/
・ 以前指摘された部分には一応, 対策を施したつもりっす.
・ CGI は perl script で, HTML の代わりに外部 js ファイルを吐き出す仕様.
(Ajax と違って, web-browser の影響が なく, 文字コードの問題も回避できる)
・ script 内の HTML 記述が皆無なので見通しが良く, 動作も軽快.
ただ, 注意して作ったつもりですが,
見落とした bug が潜んでいる可能性が大きいっす.
666 忍法帖【Lv=6,xxxP】
2011/10/14(金) 19:38:24.52ID:5RDtymiP そして誰にも相手にされず>>665は1年が経ったのであった
糸冬わり
糸冬わり
668カタヤマ
2013/12/31(火) 01:08:42.56ID:NACGwKVa 宇土成
うまく逃げたな
うまく逃げたな
669nobodyさん
2017/12/30(土) 13:06:44.88ID:YhlYw6jg 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
8CQR9BVF30
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
8CQR9BVF30
670nobodyさん
2018/02/20(火) 04:34:47.26ID:??? ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
671nobodyさん
2018/06/20(水) 23:23:44.85ID:UnZq46Ab プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。
OT97Q
OT97Q
672nobodyさん
2023/09/24(日) 04:27:28.28ID:??? ハイテンションプリーズ!
レスを投稿する
ニュース
- 【W杯】韓国が大窮地 悪夢のシナリオ止まらず 決勝T進出順位ボーダーの8位に転落 セネガル、イランに抜かれる ★6 [尺アジ★]
- 【サッカーW杯】絶体絶命の韓国、決勝T進出に暗雲 クロアチア先制…敗退シナリオの可能性高まる [鉄チーズ烏★]
- 野党が全法案審議に応じない方針、自民ベテラン「先が見通せず打開策がない」 国会緊迫化 ★2 [蚤の市★]
- 【速報中】W杯 グループL 第3節 クロアチア 2-1 ガーナ (後半38分) [鉄チーズ烏★]
- 【サッカー】「昔のネイマールでしょ」サッカー日本代表・塩貝健人がブラジル戦へ痛快発言…「王国」の印象を問われ ★2 [鉄チーズ烏★]
- 【自維】鮭おにぎり198円に絶望、コンビニすら遠い存在に…「生き延びられない」物価高で広がる生活苦★6 [ひぃぃ★]
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★221【メキシコ/カナダ/アメリカ】
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★221【メキシコ/カナダ/アメリカ】
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★220【メキシコ/カナダ/アメリカ】
- とらせん
- 〓たかせん〓
- 巨専】
- お前らってアクセサリーつけるの?
- 🏡👊😅👊日曜日よりの使者👊😅👊🏡
- 小学生女子「子供を作るのが性交の目的なら、おっぱいまで見せる必要はないのでは???」👈😲 [861717324]
- 【FIFAワールドカップ2026】6:00L組パナマ×イングランド(DAZN),クロアチア×ガーナ(DAZN) [226731781]
- 【高市悲報】工作員が去ったらスレが100行かなくなる…今までどんだけ普通を装って誘導してたんだよ… [784319933]
- 妙高市、露天風呂で生涯現役「絶景に感動」 [245325974]