Perl コーディング初心者質問コーナー Part26
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
03/07/24 19:48ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
関連スレ
【Perl上級者コーナーPart01】
http://pc2.2ch.net/test/read.cgi/php/1024741312/
CGI: Common Gateway Interface part 11
http://pc2.2ch.net/test/read.cgi/php/1055597189/
【Perl,CGI】参考書籍 第三版
http://pc2.2ch.net/test/read.cgi/php/1030209573/
【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/
過去ログやお勧めサイトは >>2-10
0002nobodyさん
03/07/24 19:49ID:???Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980 参照不能
DAT: http://tako.2ch.net/perl/dat/957208980.dat
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087 参照不能
DAT: http://tako.2ch.net/perl/dat/971817087.dat
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521 参照不能
DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156 参照不能
DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part5 http://pc.2ch.net/php/kako/988/988728069.html
Part6 http://pc.2ch.net/php/kako/996/996075607.html
Part7 http://pc.2ch.net/php/kako/1000/10002/1000267444.html
Part8 http://pc.2ch.net/php/kako/1003/10039/1003900311.html
Part9 http://pc.2ch.net/php/kako/1009/10095/1009549309.html
Part10 http://pc.2ch.net/php/kako/1014/10145/1014556702.html
Part11 http://pc.2ch.net/php/kako/1017/10172/1017201229.html
Part12 http://pc.2ch.net/php/kako/1019/10199/1019917048.html
Part13 http://pc.2ch.net/php/kako/1022/10227/1022731565.html
Part14 http://pc.2ch.net/php/kako/1026/10269/1026977659.html
Part15 http://pc.2ch.net/php/kako/1028/10288/1028816385.html
0003nobodyさん
03/07/24 19:49ID:???Part16 http://pc.2ch.net/php/kako/1032/10320/1032070299.html
part17 http://pc.2ch.net/php/kako/1034/10345/1034583844.html
part18 http://pc.2ch.net/php/kako/1037/10377/1037797479.html
part19 http://pc.2ch.net/php/kako/1042/10422/1042260745.html
part20 http://pc2.2ch.net/php/kako/1044/10447/1044717887.html (タイトルに19と誤記)
part21 http://pc2.2ch.net/php/kako/1047/10479/1047980851.html
part22 http://pc2.2ch.net/php/kako/1050/10503/1050369328.html
part23 http://pc2.2ch.net/test/read.cgi/php/1053051519/
part24 http://pc2.2ch.net/test/read.cgi/php/1054992610/
part25 http://pc2.2ch.net/test/read.cgi/php/1056730690/
[ひまぢん氏のミラー]
Part1 http://www.angelfire.com/ak5/2ch-web-program/kako/957208980.html
Part2 http://www.angelfire.com/ak5/2ch-web-program/kako/971817087.html
Part3 http://www.angelfire.com/ak5/2ch-web-program/kako/979894521.html
Part4 http://www.angelfire.com/ak5/2ch-web-program/kako/984430156.html
Part5 http://www.angelfire.com/ak5/2ch-web-program/kako/988728069.html
0004nobodyさん
03/07/24 19:49ID:???・Perl Com: http://www.perl.com/pub/
・CPAN.com: http://search.cpan.org/
・ActivePerl: http://www.activestate.com/
・CGI-ML:http://forest.ne.jp/cgi-ml/
[お薦め]
・Perlメモ: http://www.din.or.jp/~ohzaki/perl.htm ★読んどけ
・Perl Recipes: http://www.effectiveperl.com/recipes/
・Randal's WebTechniques columns: http://www.stonehenge.com/merlyn/WebTechniques/
・Perlの部屋: http://www.cc.rim.or.jp/~midorin/mad-p/perl/index.html
・Perl初心者の部屋:http://www.harukaze.net/~mishima/perl/
・Perlリファレンス:http://www.big.or.jp/~mio/ga/pl/plref/pl_ref.htm
・Perlのページ:http://homepage1.nifty.com/nomenclator/perl/
0005nobodyさん
03/07/24 19:49ID:???・Home - Japanized Perl Resources Project: http://perldocjp.sourceforge.jp/
・Perl News: http://www.news.perl.org/
・Perl Monks: http://www.perlmonks.org/
・use Perl; : http://use.perl.org/
・Learn Perl - Perl Education: http://www.devdaily.com/perl/edu/index.shtml
・Perldoc.com: http://www.perldoc.com/
・Using Perl5 in Web: http://docs.rinet.ru/Using_Perl5_in_Web/
・Rex Swain's Home Page: http://www.rexswain.com/
・Robert's Perl Tutorial: http://www.netcat.co.uk/rob/perl/win32perltut.html
・Perl Tuts: http://savage.net.au/Perl-tutorials.html
・Beginning Perl Tutorials: http://www.pageresource.com/cgirec/index2.htm
・jcode.pl の私的な解説書: http://www.mikeneko.ne.jp/~lab/kcode/jcode.html
・Logical Choice Software, Home Page: http://www.logsoft.com/perltips/
・Perlfect Solutions: http://perlfect.com/
・The Perl Archive : http://www.perlarchive.com/
・Perl6 & Parrot VM についての情報: http://dev.perl.org/perl6/
・use Object; : http://perl.infoware.ne.jp/
0006nobodyさん
03/07/24 19:50ID:???・Perl Module Reference: http://www.bekknet.ad.jp/~bero/docj/module_/ (404)
・PPMPackages: http://www.activestate.com/PPMPackages/
・河馬屋二千年堂's Page: http://member.nifty.ne.jp/hippo2000/index.htm
[Security]
・安全なプログラミングのためのガイドライン:http://www.FreeBSD.org/ja/security/#spg
・Perl security:http://www.perldoc.com/perl5.6/pod/perlsec.html
・Perl security和訳:http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlsec.html
・CGI and Security http://www.ansi.co.jp/tech/cgi/security/
・The Unofficial Web Hack FAQ:http://www.nmrc.org/faqs/www/
・How to Write Secure Code:http://www.shmoo.com/securecode/
・Safe CGI Programming :http://www.improving.org/paulp/cgi-security/safe-cgi.txt
[OS]
・Linux日本語マニュアル:http://www.linux.or.jp/JM/
・FreeBSD日本語マニュアル:http://www.jp.freebsd.org/man-jp/
0007あぼーん
NGNG0009nobodyさん
03/07/24 21:45ID:Wz9DxOV5rand の変わりに srand を使えば良いんですか?
0010nobodyさん
03/07/24 21:49ID:Wz9DxOV50011nobodyさん
03/07/24 21:56ID:wyC1cRIxPerl4までは、srandで一旦初期化する必要があったのだ
しかし5からはsrandはいらない
0012nobodyさん
03/07/24 21:58ID:???$xxxx="test";
$nameに"test"なく"xxxx"を代入したいんですが・・・。
0013nobodyさん
03/07/24 22:00ID:Wz9DxOV5有難うございました。
ところで、そのPerl4かPerl5かは、
どこで分かりますか?
0015nobodyさん
03/07/24 22:16ID:???perlのバージョンもわからずにコード書いてるのかい?
もう4は少ないだろうが、もしそうだったら大きな影響があるのだから
先にそういうことは知っておくこと
0018nobodyさん
03/07/24 23:20ID:2xdh5YDxだけロック処理をしたいんですが、
その場合にはどうしたら良いのでしょうか?
0019nobodyさん
03/07/24 23:24ID:???ttp://pc2.2ch.net/test/read.cgi/php/1024795138/
↑で聞いた方がいいかもしれない。
0020あぼーん
NGNG0023nobodyさん
03/07/24 23:54ID:???http://flex.ee.uec.ac.jp/texi/perl/perl_31.html
>>11
http://pc2.2ch.net/test/read.cgi/php/1056730690/984n
>>12
local $xxxx = 'test';
my $name;
while ((my $key, local $value) = each %::) {
${$value} eq 'test' or next;
$name = $key;
last;
}
print $name;
0025nobodyさん
03/07/24 23:58ID:???おれはいつも、
rand(time*$$)ってやってるけど。。。
0026あぼーん
NGNG0027nobodyさん
03/07/25 00:01ID:???それは意味のあるものが返ってくるのか?
じゃなくて、、、コンピューターが出せる乱数は(rand())、擬似乱数なんだ、
ということを認識していないと、おもしろいことをされる可能性がある。
0028nobodyさん
03/07/25 00:03ID:???0029nobodyさん
03/07/25 00:15ID:???Cgiで認証させるにはどうやったらいいんでしょうか?
0030nobodyさん
03/07/25 00:17ID:???0032nobodyさん
03/07/25 00:21ID:???WIndowsとはそんなに関係ないですが、CGIでよく使われるらしい
スクリプト、CGI.pmにクロスサイトスクリプティング脆弱性があるようです。
CGI 職人、あるいはCGI使われている方々は最新のバージョンに
アップデートすることを推奨します。
http://archives.neohapsis.com/archives/bugtraq/2003-07/0267.html
みなさん、大丈夫ですか
0034nobodyさん
03/07/25 01:00ID:???0035nobodyさん
03/07/25 01:02ID:???start_form()使ってないですね。
フォーム生成にCGI.pm使います?
>>12
意図がつかめない…。
具体的に何をしたいかを書くと答えが得られるかもね。
多分、ハッシュを使うと解決しそうな問題な気がする。。
0036nobodyさん
03/07/25 01:06ID:???既にデフォルトのseedは/dev/randomがあれば/dev/randomを使うようになってる。
Windowsとかだとどうしようもないけどね。
0037nobodyさん
03/07/25 01:22ID:???はフォームのデータをひらったり、クッキーを作ったりするのに
使ってたりする。
HTMLを生成するのには使ってない。。。だって
手で直接打った方が早いし、外部テンプレにしたら
もっと楽だし
0043nobodyさん
03/07/25 02:38ID:???<FILEHANDLE> while ( $count-- < 0 );
ってやったあと、tellしたら、データのバイト数分の値がでたんです。
これはFILEHANDLEで指定しているファイルを1行ずつ読んでるんだと思うんですが、
$_には入ってないみたいなんです。
いったい読み込んだデータはどこいっちゃったんでしょう。
0045nobodyさん
03/07/25 02:46ID:???0046nobodyさん
03/07/25 02:52ID:???いや、読んでない。
(正確には、読んでるけど全部捨ててるようなもの)
基本的なファイルの読み方をもう一度おさらいしてみよう。
0047nobodyさん
03/07/25 02:55ID:???004812
03/07/25 02:56ID:???0050nobodyさん
03/07/25 03:03ID:???005143
03/07/25 03:05ID:???>>45>>46
ファイルは、$/をセパレータに、なんというか、セパレータまでのデータを
1行として、そこまでを評価していくんだと思います。
その、全部捨ててるっていうのがなんというか、腑に落ちないんです。
あの、ダンプでしたっけ?PERLがなにやってるかを逐一ログに残すやつ。
それを見たら少しは理解できるとおもうんですが、
abnormal program termination
ってでちゃうんです。
困ったなあ
0052あぼーん
NGNG005338
03/07/25 03:15ID:???0054nobodyさん
03/07/25 03:22ID:???単に1行読むたびに$_に代入されるから、直前に読んだデータが上書きされてるだけ。
それが見かけ上「捨ててる」ってこと。
んでEOFまで逝っちゃうと、あとは何度読んでもundefが返ってくる。
それと、普通はwhileの条件式に<FILEHANDLE>を書いてループをまわすものだけど、
謎の変数$countでまわしてる。これは一体どこから出てきて何が入ってるのか。
腑に落ちないって、どういう結果を期待してるの?まずそれを教えてよ。
0055nobodyさん
03/07/25 03:47ID:???そのコードに入る前の $count の値が 0 以上ならば $count-- < 0 は偽。
よって <FILEHANDLE> は一度も評価されないまま while から抜けるから、
これ以前に読み込んでいないなら tell は -1 を返す筈。
$count の値が 0 未満なら無限ループ。
あと行入力演算子が $_ に自動で代入してくれるのは while の条件部に
書いた時のみ。
005638
03/07/25 03:54ID:???なんとなくで、分かりにくい説明ありがとうございました。
005754
03/07/25 03:55ID:???>書いた時のみ。
あ、ほんとだ。リファレンス本見たらそう書いてあった……
おいらも適当なこと言ってすまんかった。反省。そしてありがとう。
0058nobodyさん
03/07/25 04:08ID:???まじめにやれや
005938
03/07/25 04:21ID:???0060nobodyさん
03/07/25 04:22ID:4OBr2CQnニーノさんのホームページ作り2
http://ex.2ch.net/test/read.cgi/entrance/1059029010/
ニーノ ◆p9GipySMGk によってラウンジにたてられたこのスレで、
http://page.freett.com/ninogumi/
【ニーノさんのホームページ】
というサイトが作られた。(現在もコンテンツは爆発的に増えてるよ。)
さぁ、君もアイディアを出して、2CHネラーだけの最強サイトをつくろう!
祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り
0061nobodyさん
03/07/25 04:29ID:???$lolita = <FILE>;
こういうコードがどういう動きをするか理解しないとだめだ
0062nobodyさん
03/07/25 05:11ID:???左の値が同じなら、右の値の大きさの順に並べるプログラムを作ろうと思うのですが
ヒントをください。
"1<>9"
"2<>3"
"8<>4"
"2<>8"
"8<>8"
を
"8<>8"
"8<>4"
"2<>8"
"2<>3"
"1<>9"
と並び替えるようなものです。
0063nobodyさん
03/07/25 05:28ID:???http://m-factory.zone.ne.jp/perl/SchwartzianTransform.html
http://www.cc.rim.or.jp/~midorin/mad-p/perl/benkyou/199909/mgp00039.html
@sorted_data = map $_->[0],
sort { $b->[1] <=> $a->[1] || $b->[2] <=> $a->[2] }
map [ $_, split /<>/ ],
@data;
006443
03/07/25 07:30ID:???すみません。説明不足でした。
やりたいのは、ファイルの読み飛ばしです。
$count=10だとすると、
11行目以降のファイル内容を取得することなんです・
<FILEHANDLE> while ( $count-- < 0 );
としたあとで、
push(@line,scalar(<DAT>)) while($line-- > 0); #$lineは$count以降の取得したい行数
ってやると、ちゃんと11行目以降の内容が@lineにはいるんです。
つまり<FILEHANDLE>に対するファイルポインタは、巻き戻ってないから、それを
逆に利用してるんだそうです。
で、腑に落ちないのは
>あと行入力演算子が $_ に自動で代入してくれるのは while の条件部に
>書いた時のみ。
ってところで、$_に代入しなきゃどこに入れてるんだ、っていうことです。
PERLの、なんというか一時記憶領域みたいなものに入れてるんでしょうか。
あと、$_に代入しない場合でも、やっぱり1行ずつ読んでるんですよね???
結果はいいけと、PERLがやってることがなんとなくでも理解できないと、
応用できないんかなって。
0065あぼーん
NGNG0066あぼーん
NGNG…これで動いてるって?
既に>>55で指摘されてるけど、比較演算子が逆じゃない?
| ってところで、$_に代入しなきゃどこに入れてるんだ、っていうことです。
| Perlの、なんというか一時記憶領域みたいなものに入れてるんでしょうか。
そうだよ。
<FILEHANDLE>ではなく、readline(FILEHANDLE)と関数呼び出しとして書くと分かるかな?
ついでに言うと、print()とかも成功/失敗を知らせる値を返してる。
大抵は必要ないから即座に捨ててるだけで。
0068nobodyさん
03/07/25 14:14ID:???最初からその2行のコードと説明してくれれば早かったのに。
$_ を気にしてるようだが、$_ には読み込まれないから考える必要はない。
scalar(<DAT>) ← これがミソで、リストである<DAT>を強制的に
スカラとして評価することによって<DAT>の1行だけを取得しているので
ここでは1行読み込みみたいな動きになる。
0069nobodyさん
03/07/25 14:37ID:???0070nobodyさん
03/07/25 15:12ID:???0071nobodyさん
03/07/25 15:26ID:???【犯行】明日入殺します【予告】
ttp://ex.2ch.net/test/read.cgi/entrance/1059109904/l50
0072nobodyさん
03/07/25 15:27ID:???なんでリストなんて書いちゃったんだろ
0073nobodyさん
03/07/25 16:09ID:ysQnpLo4対象文字列の扱いに困っております。
$htmlの中に「表」等の文字が入っている場合、
$html =~ s/5C/5C5C/sig;
これで回避できるかと思ったのですが、どうもうまくいきません。
教えていただけたら幸いです。
0074nobodyさん
03/07/25 16:15ID:???0075nobodyさん
03/07/25 16:45ID:???お返事有難うございます。
早速下記のようにやってみましたが、まだいかないようです。
$html =~ s/\x5c/\x5c\x5c/sig;
初心者で申し訳ないです、、、
0077nobodyさん
03/07/25 17:06ID:???007873
03/07/25 17:23ID:???$htmlは、ヒアドキュメントを使って内部に変数が含まれて
いるため、シングルクォーと等は使えません、、、
再度しばらく考えてみます、、、
0079nobodyさん
03/07/25 17:36ID:???表\示
でいいじゃん。
008073
03/07/25 17:48ID:???「表」や「能」等を平気で普通に使ってしまう可能性が
あるため、最後にまとめて変換してしまおうと考えました。
出力形式は要望であるため、変えられないのが痛い
です、、、
008273
03/07/25 18:00ID:???それが許されないからヒアドキュメントなのです。
できればそうしたいのですが、ロードバランサーを使用した
サーバ3台体勢なため、どんなに説明しても1ファイルで
完結してくれと、、、
すみません、無駄にスレ消費させているので書き込み自粛
します。
0085nobodyさん
03/07/25 20:25ID:cdWg8/H5表示されるのに、これでは画像が×印になってしまい
表示されません。何が抜けているのか何でも良いので
気付いた所を教えて欲しい。
sub wedd{
if(!$tpre){
$log .= "<img src=''$imgs/seee.png''><br>\n";
$tm=0;
$trpe='';
}
です。
0087nobodyさん
03/07/25 20:37ID:???0090nobodyさん
03/07/25 21:46ID:???0092nobodyさん
03/07/25 22:04ID:???ダブルクォーテーション内のシングルクォーテーションを、しかも2個の内一つだけエスケープして意味あるのか?
>85はただの間違い探しだろ。
0093nobodyさん
03/07/25 23:21ID:???これで何点貰えるのかなぁ。
0094nobodyさん
03/07/25 23:31ID:uJCpPyXD0095nobodyさん
03/07/25 23:32ID:uJCpPyXDの間違いだ。スマソ
0096nobodyさん
03/07/25 23:44ID:???009885
03/07/25 23:59ID:qXznWoh0おお!
とりあえず、それで出来ました。
これで道は開けます。
どうも有り難うございました。
009943
03/07/26 00:58ID:???ありがとうございました。そうかreadlineか。PERLFUNCを読み直して
すっきりしました。
比較演算子は逆ですね。($count-- > 0)ですよね。
0101nobodyさん
03/07/26 03:55ID:4h1zCzy4perl5.003の環境で使う状況になってしまいました、
5.003で使えない表現を纏めるにはどこをみれば良い
でしょうか?
また、HTML::Templateをつかいたいのですが、
対応していない表現が多いようで使えません。
書き換えることでつかえるようになるでしょうか?
0102あぼーん
NGNG0104あぼーん
NGNG0105あぼーん
NGNG0106nobodyさん
03/07/26 11:25ID:NdYn8w9o思っております。
昔C言語を少しだけ使っておりまして、その習性に引きずられてか、htmlを作るときは
何となくインデントさせていました。例えば
<HEAD>
<META HTTP-EQUIV="content-type" CONTENT="text/HTML;charset=euc-jp">
<TITLE>title</TITLE>
</HEAD>
の様にですね(無駄といえば無駄なんでしょうけど…)。
そして上記のhtmlをperlで出力させる際には、
#!/usr/bin/perl
print " <HEAD>";
print " <META HTTP-EQUIV=\"content-type\" CONTENT=\"text/HTML;charset=euc-jp\">";
print " <TITLE>title</TITLE>";
print " </HEAD>";
等と書いてインデントされた状態のhtmlが出力されるようにしていました。
しかしif文やfor文内にてhtmlを出力する処理となった場合等、perlのソースを
インデントさせて、そこでまたさらにインデントされたhtmlを出力するために
文字列を記述していくと、なんだか非常に見づらいソースになってしまうように
感じてしまいます(ソース内でhtml部分のインデントが一致しない等)。
今後メンテするのはperlのソースなので、perlのソースとして読みやすいものにすれば
よいと思うのですが、かといって出力であるhtmlが読みづらいとメンテが大変であるとも
思います。皆様どのように考えて作られてますでしょうか?
0107106
03/07/26 11:42ID:???> print " <HEAD>";
print "<HEAD>";
ですね。
ソースからコピペして、インデントを全角スペースにする時に間違えました…
0108nobodyさん
03/07/26 11:46ID:???0109nobodyさん
03/07/26 12:01ID:???ループとかでテーブル生成、とかそーゆー時は、出力したところが見やすいようにする。
で、最終的にプログラムが完成し、出力するHTMLが意図した通りになったのを確認したら、
出力時のタブや改行などは全部消す(出力直前に正規表現で)。
文字のスペースは全て&nbsp;を使ってるからスペースも消す。
0110nobodyさん
03/07/26 12:19ID:???行数も減って処理の流れが読みやすくなるし
0111106
03/07/26 12:33ID:???>>110
別ファイルということは、やっぱりrequire文でhtmlを出力するためのスクリプトを
呼び出すということでしょうか?
いろいろとあたっている時に、>>106で例に挙げているようなスクリプトで
TITLEタグの内容を変数で与えてあげられるようにしているのをよく見てまして、
やっぱり処理部分と出力部分は分けたほうがいいのでしょうねぇ、と思っては
います。
ちなみに別ファイル内でのhtml部分のインデントはどうされていますか?
0112nobodyさん
03/07/26 12:36ID:???またはprintの部分だけインデントしないとか。
0113106
03/07/26 12:36ID:???デバッグ終了時に、出力時に不要な文字を消す処理を有効にする、という事ですか?
ちなみにそうなると、完成版が出力するHTMLはインデント無しですか?
0114nobodyさん
03/07/26 12:45ID:???そうですね。ヒアドキュメントも考えてみたのですが、bash等で使えるような
空白+終端文字列(<<-でしたっけ?)等が無さそうで、難儀しています…
0115nobodyさん
03/07/26 12:58ID:???ファイルオープン→読む→出力→ファイルクローズだと思うけど。
>>114
bashでシェルスクリプト組んでるの?
ちょっと良くわからない。。
0116nobodyさん
03/07/26 13:12ID:???> ファイルオープン→読む→出力→ファイルクローズだと思うけど。
それだと、外部ファイルをそのまま出力という形になって、例えばファイル中に
変数を仕込んでおいて、その変数の値を表示させる…等という事をしたい場合、
何か上手い方法はありますか?sed的な置換を駆使でしょうか?
> >>114
> bashでシェルスクリプト組んでるの?
実はOSがVineLinux2.6R1でして、/bin/sh -> bashとなっているので…
0117109
03/07/26 13:15ID:???>ファイルオープン→読む→出力→ファイルクローズだと思うけど。
これと同じようにしてる。
ただ、やや複雑になってきたりするとやっぱプログラム内で生成する。
ループでテーブル生成、ってのを多用するから。
ヒアドキュメントは、絶対左側に書くって規則があるから使わない。
しかもヒアドキュメントだと状況によって細かく出力を変えれないからあんま使い道ない気が…。
ヒアドキュメント使うなら外部にHTMLを書いたtxtを置くかな。
>別ファイルということは、やっぱりrequire文でhtmlを出力するためのスクリプトを
>呼び出すということでしょうか?
プログラム内でHTMLを生成する必要がある上、あまりに縦長で邪魔になった時は、
こーゆーのも作った事あるよ。俺は。
0118nobodyさん
03/07/26 13:30ID:???変数だってリファレンス使えばいいし
0119あぼーん
NGNG0120115
03/07/26 14:02ID:???独自なタグとか作って置換、splitで切り張りとか。
書き換える部分が一点に集中してる(単一テーブルなど)の場合、
二つのファイル(ヘッダ部とフッタ部)を作ったり。
>>117
>ヒアドキュメントは、絶対左側に書くって規則があるから使わない。
変数に入れれば、思いのままに整形できるよ。
クックブックのレシピ1.11
0121115
03/07/26 14:37ID:???連続カキコ失礼。
0122nobodyさん
03/07/26 18:21ID:???perldelta
http://www.att.or.jp/perl/change/5004pre.html
http://www.kt.rim.or.jp/~kbk/perl5.005/perldelta.html
0123nobodyさん
03/07/26 23:22ID:UhENImdiどこで配ってたか忘れてしまいました。
ぐぐったものの見つからず。
どなたかご存じだったら教えてください。
0124nobodyさん
03/07/26 23:34ID:P3xPXFZK&& $gg < 71 && $fd < 71 && $ar < 71 && $ss < 2500 ){
を書きました。
ちょっと長いから難しいかなあと思って一通りテスト
したんですが、なんと全部正しかったです。
しかし、やはりプログラム処理も間違える事
はあるんでしょうか?
0125nobodyさん
03/07/26 23:36ID:???ある程度、グローバルスタンダードというか、
おきまりの付け方って存在するんでしょうか?
0126nobodyさん
03/07/26 23:47ID:???ActivePerl ならインストールしたディレクトリ以下に入っているかも知れない。
>>125
http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlstyle.html
0127nobodyさん
03/07/27 02:46ID:???これはHTMLだとコメントになりむしされる。
これを利用して、このように。
$hoge = "seiseishitai html no naiyou";
$hogehoge = "mouhitotsu seisei shitai html no naiyou";
open TEMP,"/path/to/template.html">
while(<TEMP>){
s/<!HOGEHOGE>/$hoge/g;
s/<!HOGE>/$hogehoge/g;
print;
}
0129nobodyさん
03/07/27 04:00ID:???だった。
0130nobodyさん
03/07/27 09:21ID:???ない。「それにはいくとおりもやりかたがある」から。
C言語出身のやつはC言語での命名規則を、
Java出身のやつはJavaでの命名規則を、
使えばそれでいい。
0131nobodyさん
03/07/27 09:51ID:???全部大文字のsubも使わないほうが良かったような。
0132nobodyさん
03/07/27 11:40ID:qAaynntQforeach(split(/&/,$query)){略}
とした場合、splitは1回だけ実行されるのでしょうか。
ループのたびに実行されてたら馬鹿みたいなので。
0133nobodyさん
03/07/27 11:47ID:???0134132
03/07/27 11:54ID:???くだらない質問失礼しました。
0135あぼーん
NGNG0136あぼーん
NGNG0137nobodyさん
03/07/27 14:00ID:???なんで最近こんな奴ばっかなんだよ。
>splitは1回だけ実行されるのでしょうか。
他人に聞くよりPerlに聞いた方が正確だし早い。やればわかるだろ。
0138nobodyさん
03/07/27 17:20ID:LVhmum4F件数を先に出力したいから、
$n=0;
open(DATA,"data.txt");
foreach(<DATA>){
if($_ =~ m/$keyword/){ $n+=1; }
}
print "$n件見つかりました。<br><br>";
close(DATA);
open(DATA,"data.txt");
foreach(<DATA>){
if($_ =~ m/$keyword/){ print "$_<br>"; }
}
こうやってるんですが、2回データ開くってのが、ソースが変だし、効率が悪いと思うんですが、効率いい方法ありませんか?
「件数」を先に出力するので、この方法以外考えられません。
条件に当てはまったものを、配列に入れて、後で出力ってのも考えましたが、
配列は効率わるそうで・・・
ご教授お願いします
0139nobodyさん
03/07/27 17:22ID:???とかストッパーかけておくと良い。
0140nobodyさん
03/07/27 17:25ID:???if ( 表示する条件 ) { continue; }
$n++;
if (??) { contine; }
if(??) { contine; }
print $_; or $xx = $_;
}
$n件見つかりました
結果$xx
0141nobodyさん
03/07/27 17:27ID:???if(??) { contine; }
↑ゴメン s/contine/last/g
ついでに、ここは表示するページのはじめの数から後の行数を先に求めておく。
0142nobodyさん
03/07/27 17:45ID:LVhmum4Fゴメン。難しくて理解できない・・・
ちょっと解説お願いできますか?
0143nobodyさん
03/07/27 17:54ID:???0144nobodyさん
03/07/27 17:59ID:???メモリは食うだろうが。
0145nobodyさん
03/07/27 18:09ID:???open(DATA,"data.txt");
while(<DATA>){
if($_ =~ m/$keyword/){ $n+=1; $str .= "$_<br>"; }
}
close(DATA);
print "$n件見つかりました。<br><br>$str";
これじゃだめなのん?
オープン2回が気になるなら、seekで戻せば開きなおす必要はなし。
0146nobodyさん
03/07/27 18:15ID:???$n=0;
open(DATA,"data.txt");
while(<DATA>){
if(/$keyword/o){
push(@hit, $_);
$n++;
}
}
print $n. '件見つかりました。<br><br>';
foreach(@hit){
print $_. '<br>';
}
close(DATA);
んじゃ、配列使うやつ。
DATAファイルハンドルは避けたほうがいいよ。
改行もしっかり処理しよー。
0147nobodyさん
03/07/27 19:03ID:bAtOJVkaBというサーバーでは動きません。
原因として考えられるのって何があるでしょうか?
0149nobodyさん
03/07/27 19:25ID:???0150nobodyさん
03/07/27 19:58ID:LVhmum4F効率は悪くないんですかね・
>>145>>146
ありがとうございます。
ソートもできたらなぁ、と今思っていたので配列にすることにします。
どうもありがとうございました
0151あぼーん
NGNG0152あぼーん
NGNG0153nobodyさん
03/07/27 20:59ID:???文字列として $str .= $_;
ってやったほうが良いでしょう。
0156(*゚p゚)Chan ◆ClChang/Go
03/07/27 22:01ID:???(*゚p゚)σ違うにゃりよ!!!
ε=ε=ε=┌(*゚p゚)ノ サササッ
0157nobodyさん
03/07/27 22:11ID:???0158nobodyさん
03/07/27 22:14ID:???0159nobodyさん
03/07/27 22:16ID:???スクリプトなのですが、どのへんまでたまったら古いログを消していくべきか
こまっています。
たとえば1MBのログファイルを開け閉めするのと10KBのログファイルを開け閉めするので
処理時間に差が出たりするのでしょうか?
0160nobodyさん
03/07/27 22:41ID:???>たとえば1MBのログファイルを開け閉めするのと10KBのログファイルを開け閉めするので
>処理時間に差が出たりするのでしょうか?
聞く前に試せよ。その試した結果に疑問があるなら質問しに来い。
0161nobodyさん
03/07/27 22:42ID:???あるんじゃないの?
何のアクセスログか知らないけれど、
ログを切る方法なんていろいろあるでしょ。
apacheのログ?
rotatelogs。。
logrotate。。。
あるいはシェルとか。
0162nobodyさん
03/07/27 22:48ID:???アペンドなら有意な差(特に1Mと10Kなら)はないと思う。実測した事ないので>>160が言ってるように
測定して報告してくれ。
0163nobodyさん
03/07/27 22:57ID:???いえ、apacheのじゃなくてよくある画像を用いたアクセスログです。
あくまで一般的な知識としてどうなのか、と思って訊いてみたんですが。
測定する方法を考えて出なおしてきます。
0164nobodyさん
03/07/28 00:32ID:???DProfとかあんだろ。
0166nobodyさん
03/07/28 01:03ID:???0167159
03/07/28 04:46ID:???空のファイルに対してopen(FH,">>$file")でlocaltimeを書き込んでいくループを
やらせてみたら、ファイルサイズが100KBだろうか1MBだろうが10MBになろうが
処理のスピードは変化無しでした。
まあ考えてみたら>>で書き込むのってファイルを開いてポインタを末尾に移動して
書き込むだけだから、そのファイルが小さかろうが大きかろうが関係無いっぽいけど。
ちなみに同じことを毎回行を配列化→pushで追加→>で新規書き込みっていう
ループでやってみたら、当然処理はだんだん遅くなりました。
16[4-5]のモジュールは使い方よくわかりませんでした。
0168nobodyさん
03/07/28 06:36ID:+imB0DDxサーバー上に掲示板のログが大量にあります。
これらを小さくまとめる&転送速度を上げるために、gzipで圧縮して閲覧可能にしたいと思っています。
gzipの圧縮は1度行えばいいので、Windows上かシェルで行い、サーバー上に置いておくことになりますが、
そのファイル名が、$FORM{url} だとすれば、
print "Content-type: text/html;charset=Shift_JIS\n";
unless($ENV{'HTTP_ACCEPT_ENCODING'} =~ /gzip/){&error($FORM{url}); exit; }
if($ENV{'HTTP_ACCEPT_ENCODING'} =~ /x-gzip/){ print "Content-encoding: x-gzip\n\n"; }
elsif ($ENV{'HTTP_ACCEPT_ENCODING'} =~ /gzip/){ print "Content-encoding: gzip\n\n"; }
if (!open(GURL,"<$FORM{url}")){ &error(1); exit; }
binmode GURL;
@gzipdata = <GURL>;
close(GURL);
print @gzipdata;
exit;
#エラーの場合はURLをリンクで示してダウンロードしてローカルで解凍してもらうよう表示する。
こうなるのかと、とりあえず書いてはみたものの、一度メモりに読むのは避けられないのか、
バイナリ扱うPerl書いたことないからこれでいいのか。
あるいはもっと効率的な方法をご存じの方は教えてください。
0169nobodyさん
03/07/28 11:36ID:???後ろから処理するということはできないでしょうか?
while( <FILE> ) { 処理 }
配列などに入れてしまえばできるのですが、メモリとしてはこちらの方がよいと
思いまして、どうかよろしくお願い致します。
0170nobodyさん
03/07/28 11:44ID:???逆順は難しいと思われ。
一行のバイト数が固定なら色々とやりようもあるだろうが。
可変行の場合、俺はやり方を知らない。
配列でやるんだったら配列の入れ方を工夫するといいかも。
@data = <FILE>;
@data = reverse(@data);
とやるよりも
@data = ();
while(<FILE>){unshift(@data);}
とした方がいいかもしれない。
0171nobodyさん
03/07/28 11:45ID:???0172nobodyさん
03/07/28 12:04ID:???試してないけど。
binmode STDOUT;
my $CRLF = "\x0d\x0a";
my $encoding = $ENV{'HTTP_ACCEPT_ENCODING'};
print 'Content-Type: text/html; charset=Shift_JIS', $CRLF;
$encoding =~ /gzip/ or &error($FORM{url}, exit;
open GURL, '<' . $FORM{url} or &error(1), exit;
if ($encoding =~ /x-gzip/) { print 'Content-Encoding: x-gzip', $CRLF }
elsif ($encoding =~ /gzip/) { print 'Content-Encoding: gzip', $CRLF }
print $CRLF;
print while read GURL $_, 1024; # LENGTH は適宜調整
close GURL;
>>169
http://www.din.or.jp/~ohzaki/perl.htm#File_Reverse
0175nobodyさん
03/07/28 13:21ID:ZypqctSD例えば同じ変数をどこのサブルーチンで使いたい場合はどうするんでしょうか。
いちいち変数の受け渡しをしないといけないんでしょうか。
0177nobodyさん
03/07/28 13:47ID:???174が言ってるように、ファイル名に.gz追加
logfile1.html.gz
HTTP_ACCEPT_ENCODING見てサーバがファイルを選んでくれる。
0178nobodyさん
03/07/28 13:49ID:mZs5gojbour。バージョン古くて使えなければuse vars。
0179nobodyさん
03/07/28 13:52ID:???妙な静的変数
{
my $static;
sub hoge {
}
sub hogehoge {
}
sub hagehage {
}
}
0180nobodyさん
03/07/28 14:33ID:MPvwsvte確認ボタンでその画像がブラウザで確認出来るようにしたいのですが、
良い方法ないでしょうか?
0182nobodyさん
03/07/28 14:41ID:???> 16[4-5]のモジュールは使い方よくわかりませんでした。
使えるようになると便利だぞ。
面倒かもしれんけど、ぐぐってみるなりして使いこなせ。
>>180
送信する前にプレビューってことか?
JavaScriptでフォームからファイルパス取って、IMGに埋め込むとか。
できるかわからんけど。
とりあえずスレ違いなので詳細はそれ系スレで。
0183nobody
03/07/28 21:25ID:0jEUdWDa「じゃんけん」ができるプログラムを作りたいんだけど
何かいい方法ありますか?
当方かなり初心者なんで
print"〜";#って文字を出力することしかできないんですけど。
えーと質問の意味がわからなかったらスルーしてもらってもかまいません。
0184あぼーん
NGNG0185nobodyさん
03/07/28 21:53ID:???まずフローチャートを書け。
それ以降は大学で聞け。
0187nobodyさん
03/07/28 22:03ID:???sleep(1);
print "ぽん\n";
0188あぼーん
NGNG0189nobodyさん
03/07/28 22:10ID:TipKdKzdランダムに3つの中から選ぶプログラムを作って
自分で入力した文字と比較。
結果を出力。でいいんじゃない?
0190あぼーん
NGNG0191nobodyさん
03/07/28 22:25ID:???print "じゃんけん(1=ぐー、2=ぱー、3=ちょき)\n";
<>;chop;
$a = int rand(3)+1;
$hoge = (($a == 1 && $_ == 2) || ($a == 2 && $_ == 3) || ($a == 3 && $_ == 1)) ? '勝ち' : '負け';
print $hoge,"\n";
# お粗末
0192nobodyさん
03/07/28 22:47ID:???0193nobodyさん
03/07/28 22:53ID:???<>;
print ('勝ち', '負け')[int rand 2];
0194nobodyさん
03/07/28 23:08ID:???/⌒ヽ
/ ´_ゝ`)時間的に、ここ笑わないといけないので、笑いますよ・・・
| /
| /| |
// | |
U .U
0195183
03/07/28 23:46ID:xYLAJnZKみなさんいろいろ案出していただいてありがとうございます。
結局自分の力不足で課題内容変えちゃいましたけど。
(みなさんの案は今後参考にさせてもらいます)
>192
今日始めてここに来たんですけど
まぁ課題が出るたびにここで聞くのと同じような根性の持ち主です。
とにかく…評価はCにケテーイぽ(つД`)
0196あぼーん
NGNG0198nobodyさん
03/07/28 23:56ID:???0199あぼーん
NGNG0200183
03/07/29 00:01ID:BcdoPCM8いやしてないし。むしろじゃんけんにしなかったし。
ウザイのでそろそろ逝きます。
0201nobodyさん
03/07/29 00:03ID:???自分の期待する答えがなかったからしなかった(というかできなかった)だけで。
0202nobodyさん
03/07/29 00:25ID:???試したらわかる程度に軽いやつで
0203nobodyさん
03/07/29 01:49ID:???0204168
03/07/29 07:41ID:???ありがとうございました。
Content Negotiationというのがあるとは全く知らず、そのまま表示できたのでびっくりです。
板違いでしたね(汗)
全部圧縮して、リンク先のアドレス変えるだけで問題はすべて解決しました。
大変感謝しております。
0205nobodyさん
03/07/29 08:56ID:pmxt/hz7cgiの中でlocaltimeで、6:00と7:00で処理を分けているんですけど、
crontabの時計とlocaltimeの時計は完全に一致しているんでしょうか?
スクリプトの中で6:00丁度だったらA、7:00丁度だったらBとやっても
crontabが起動した時間が5:58とかだったらAの処理が行われないと思うんです。
0206nobodyさん
03/07/29 10:14ID:???perldoc を調べなさい。
それから
man crontab。
0207nobodyさん
03/07/29 10:15ID:???crontabはcrontableのことだ。
要するにcronの設定ファイル(といっていいかどうかわからんが)
man cron
をすべき。
0208nobodyさん
03/07/29 10:21ID:???0210nobodyさん
03/07/29 10:52ID:???(*´Д`*) マンコロン・・・
0211あぼーん
NGNG0212nobodyさん
03/07/29 11:44ID:pmxt/hz70213nobodyさん
03/07/29 11:47ID:MFa+8P58<STDIN>; ではうまくいかないので下のコードのようにしましたが、
2つ目のwhileを無駄に回さなくてもいいようにする方法はありますかね?
今のところsleepを入れるくらいしか思いつかないです。
sub {
my $sig = 0;
local $SIG{INT} = sub {$sig = 1;};
while (1) {
# ここに$interval(分)ごとにする処理
while (time() % ($interval * 60)) {
sleep (1);
return 1 if($sig);
}
}
}
0214あぼーん
NGNG0215nobodyさん
03/07/29 12:00ID:???1 TTYをnon-canonicalモードにする。
プラットフォーム依存。モジュールあるかも。
2 特定のキーでシグナル発生させる。
0217nobodyさん
03/07/29 15:52ID:???を参考にhttpクライアントを作ってみたんですが
どうも404が返ってくるところが多くて不思議なのですが
どういうことなのでしょう?
例えば参考にした上のページは見れるんですが
自分のISPのページは
Http://host/~user/index.html でリクエストすると404で
Http://host/~user/ なら大丈夫なんです。
(勿論ブラウザなら両方OKです。)
ソースへ
print SOCKET "Host:$host:$port\r\n";
を追加したら大抵取得できる様になったんですが
それでも100%でないので納得できないのです。
何が不足しているのでしょうか?
サッパリ意味が解らないのでご教授お願いします。
0219217
03/07/29 16:39ID:???バーチャルホストへは
print SOCKET "Host:$host:$port\r\n";
で対応できているんですよね?
何だか原因はスペルミスだけだった気がしてきました。
0220nobodyさん
03/07/29 16:53ID:???>>217 サーバーの DirectoryIndex (クライアントがディレクトリをリクエストしたときに調べるリソースのリスト)確認しろ。
0222nobodyさん
03/07/29 19:38ID:71pkcqEp(゚Д゚ )ハァ?
それで返ってくるのは403だろ。氏ねや
0223あぼーん
NGNG0224nobodyさん
03/07/29 19:55ID:???0225nobodyさん
03/07/29 21:36ID:???alarm使って、キー待ちにしたらどう?
time値の0秒ジャストで動かせないけど。
local $SIG{ALRM} = sub { die 'timeout' };
...
my $c = &keywait(1);
...
sub keywait
{
my $interval = shift;
eval{
alarm($interval*60);
<>;
alarm(0);
};
if ($@){
alarm(0);
($@ =~ /timeout/) or die;
return(0);
}
return(1);
}
0227nobodyさん
03/07/29 23:46ID:Y5f15xmJ#$buffer = $ENV{'QUERY_STRING'};
@pairs = split(/&/, $buffer);
foreach (@pairs) {
($key, $val) = split(/=/);
$in{$key} = $val;
}
ここまでやった後で連想配列の中身を見る方法を教えてください。
どんなkeyが入ってるか知りたいのです。それによって処理を分岐するので。
初歩的な質問ですみません。
0229nobodyさん
03/07/29 23:48ID:???0230nobodyさん
03/07/29 23:48ID:???foreach $key ( sort( keys %ENV ) ) {
print "$key = $ENV{$key}\n";
}
0233あぼーん
NGNG0234nobodyさん
03/07/30 00:01ID:KKMTj9U0$name = 'c:\windows\system32';
$i = 0;
while($name =~ /\\/g){
$i+=1;
}
@match = ();
for($n=1; $n<=$i+1; $n++){
$a = '$path'.$n;
push(@match,"$a");
}
@match = split(/\\/,$name);
foreach $col (@match){
print "$col<br>";
}
がんばってこんな感じになりました。
けっこう長いです・・サブルーチンになりそう・・・
もっと簡潔な方法あれば教えてください。
0235234
03/07/30 00:06ID:KKMTj9U0$a = '$path'.$n;
push(@match,"$a");
これは、
push(@match,"%n");に変えます。
配列の全値をjoinでスカラ($match)に代入
そして、($match) =split・・・・
ってやるつもりだったんですが、$matchが展開されないってことに気づいて、
リファレンス良く見ると、そのまま配列でsplitできることがわかって、
$pathっての消すの忘れてました。
0236234
03/07/30 00:06ID:KKMTj9U0○ $n
何回もすいません。
0237nobodyさん
03/07/30 00:08ID:???>>1の
1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
これを読め。結局何がしたのが伝わってこない
0238nobodyさん
03/07/30 00:08ID:???○結局何がしたいのか伝わってこない
0239234
03/07/30 00:09ID:KKMTj9U0簡潔な方法がないか聞きたかったんです。
けっこう長いから・・・
0241234
03/07/30 00:10ID:KKMTj9U0簡略なソースを求めるスレでないんですね。
どうもすいませんでした。
0243nobodyさん
03/07/30 00:13ID:???ただ単にソースをダラダラ書かれても困るだけ。
このスレの解答者はソース解析屋でもないんだから
0244あぼーん
NGNG0245nobodyさん
03/07/30 00:14ID:QkXS28T1ErrorメッセージがInternal Server Errorだけじゃ捗りませんよね。
0246nobodyさん
03/07/30 00:15ID:???0247234
03/07/30 00:17ID:KKMTj9U0ええと、このソースは、フォームから「文字列」と、「分解の基準になる文字列」(なんか分かりにくいかな・・
split(/aa/,"")←ここのaaの部分です。
で、フォームからだと、だれがどんな文字列もってくるかわからないでしょ?
だから、当然分解数も違う。
それで、分解数がはじめから分からなくても、ちゃんとsplitで分解する
っていうのが上のスクリプトなんです。
あぁ、説明下手で伝わらなかったらゴメン
0248234
03/07/30 00:20ID:KKMTj9U04行目の「で」は「受け取って、splitで分解するスクリプトなんです。」ですね・
なんか日本語変になってる
0249nobodyさん
03/07/30 00:20ID:???0251234
03/07/30 00:24ID:KKMTj9U0>>234のスクリプトは、フォームから「文字列」と「分解の基準になる文字」を受け取って、
それをsplitして表示する、というものです。
でも、フォームから送られてくるのは人によってまちまちだし、当然分解する数も違うので、はじめっから
($a,$b) = split(/$bunkaimojiretu/,"$mojiretu");なんてできません。
だから、上のようにまず、whileで「分解の基準になる文字列」の数を調べて、
次に、その数+1個分の値がある配列を作ります。
そして、その配列を分解
こうすれば、分解数がわからなくても、ちゃんとsplitしてくれる、そういうスクリプトです。
0252234
03/07/30 00:26ID:KKMTj9U0どうもソースが長いなぁ、と思い、簡略化できないかと聞いてみた次第です。
お手数かけてすみません。これでマシな日本語になりましたか?
0253nobodyさん
03/07/30 00:27ID:???なんでそんなことをする必要があるのか全然わからん。
@pairs = split /\&/, $STDIN;
foreach ( @pairs ) {
($k, $v) = split /=/;
$form{$k} = $v;
}
これでは何故いかんのか?
0254nobodyさん
03/07/30 00:29ID:???$name = 'c:\windows\system32';
foreach (split(/\\/,$name)) {
print "$_<br>";
}
もう飽きた。
0256234
03/07/30 00:29ID:KKMTj9U0僕がやっているのは、ブラウザからなんですよ。DOS窓じゃないんです・・・
0257213
03/07/30 00:30ID:???0258nobodyさん
03/07/30 00:30ID:???0259234
03/07/30 00:30ID:KKMTj9U0えと、この場合は、フォームからの文字列が、たとえば「c:\windows\system32」の場合の話ですよ〜
ってことです。
なにも言ってなくてスイマセン。
0260234
03/07/30 00:31ID:KKMTj9U0split(/$cut/,$name)くらいにしておけばよかったです。
誤解を招くようなこと書いてすいません。
0262234
03/07/30 00:33ID:KKMTj9U0初めの一行に「フォームからの文字列(c:\windows\system32)、分解の基準の文字(\)の場合の例」
と、一言かいておければよかったです。
無駄なレスさしてほんとに申し訳ないです。。
0263nobodyさん
03/07/30 00:34ID:???その台詞で貴様の技能がどの程度かよくわかった。
標準入力からだろうがブラウザからだろうが入力は入力だろうが。応用の利かない阿呆が。
0265234
03/07/30 00:37ID:KKMTj9U0え?STDINって、DOS窓じゃなかったんですか?
フォームのデータは、ReadParse使って、変数に格納してる状態なんですけど・・・
0266234
03/07/30 00:37ID:KKMTj9U00267nobodyさん
03/07/30 00:38ID:???>>263
はぁ、アフォだ。STDINなんかcgiで使えるわけないだろ、氏ね
0268nobodyさん
03/07/30 00:40ID:???0269234
03/07/30 00:43ID:KKMTj9U0標準入力、GETの場合は?以降を、分割するってことを言っていたんですね。
そういうことではないんです。
フォームから、好きな文字列とキーの文字を送ってもらって、
そのキーで「文字列」を分解するってことです。
GETの場合でいうと、
?moji=c:\windows\system32&key=\
それで、この「\」で「c:\windows\system32」を分解したいんです。
?moji=aiueo,kakikukeko,sasisuseso&key=,
こんなことです。
0271nobodyさん
03/07/30 00:47ID:???> 初めの一行に「フォームからの文字列(c:\windows\system32)、分解の基準の文字(\)の場合の例」
要は、ある文字列を分解の基準の文字で分解してリストにしたいって事?
split でいいんじゃねーの?って思うが、肝心な「期待しているリストにはこう入って欲しい」
みたいなこと書いてねーからさっぱり解らん
0272nobodyさん
03/07/30 00:53ID:???0273234
03/07/30 00:53ID:0qjcwLeTそういうことです。
それで、「ある文字列」も、「基準の文字」も、「何分割される」かも、分からない、という状況で、
どういうスクリプトで処理したらいいかといろいろ試行錯誤して、上のスクリプトができました。
それで、このスクリプトは正しいのか?、もっと簡単にできるんではないか?と思いまして、聞いてみました。
0274nobodyさん
03/07/30 00:56ID:???君はその事について未だ何も記述してないね
0275234
03/07/30 01:00ID:0qjcwLeT@match = split(/$kijun/,"$data")って処理されるわけですから、
基準の文字の数+1が必要な値になりますよね?
たとえば、\で切る、データが「a\b」だったら、2個という具合で。
だから、
@match = ();
for($n=1; $n<=$i+1; $n++){
push(@match,"$n");
}
ここで、その数だけ、配列の値を・・・・・・・・・・
あら、もしやこれ不要なんでは・・・
まさか、いらない・・・
あぁ、いらないんだ。。。
そーだったのか、アフォなことをした・・・・
0276234
03/07/30 01:02ID:0qjcwLeT$name = 'c:\windows\system32';
@match = split(/\\/,$name);
foreach $col (@match){
print "$col<br>";
}
これでいけたわ
すまんな、
0278234
03/07/30 01:05ID:0qjcwLeTでも、良く考えると、
push(@match,"$n")って、値がはいってるのに、
なんでc:とか変わってるのかと思ったら
あっはっは
0280234
03/07/30 01:06ID:0qjcwLeT@aaa = split(/$aa/,$bb)
ってすりゃぁ、
勝手に@aaaの値の数が調節されるんだな
あっはっは
すごいな、パールって
あっはっは
0281234
03/07/30 01:08ID:0qjcwLeTあっはっは
えらい迷惑かけちまってあっはっは
パールってのはすごい言語だ
あっはっは
俺としたことが・・
みんなこれ知っててだまってたんだろ?
まったく、恥かくぜあっはっは
0282234
03/07/30 01:10ID:0qjcwLeTforeach (split(/\\/,$name)) {
だったんだな
なんかほかの物に見えたよ。
この時点で答えでてんじゃん
あっはっは
俺ってどんくさいな
0283nobodyさん
03/07/30 01:11ID:???↓
0284nobodyさん
03/07/30 01:11ID:???では次の質問どーぞ!
0286234
03/07/30 01:19ID:0qjcwLeT授業でCあるからな・・
0288nobodyさん
03/07/30 01:26ID:???0289nobodyさん
03/07/30 01:32ID:???0290nobodyさん
03/07/30 01:33ID:???0293nobodyさん
03/07/30 02:14ID:???@ARGVがあれば、@ARGVが行入力演算子に割り当てられ、
@ARGVが空ならSTDINが割り当られる。
代入先がないので、読み出して捨ててる。
STDINが割り当てられたのなら、STDINを一行読み飛ばしている。
STDINにターミナルデバイスが割り当てていれば、一行待って、中身を捨てるということに。
(単なる改行待ち)
>>292
キーボードに関してはperldoc -q keyで、faq5辺りに情報が載ってますよ。
http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlfaq5.html#How_can_I_read_a_single_characte
0295nobodyさん
03/07/30 03:25ID:JGELpVxkアクセスがあったらその間だけ
proxyサーバとして動作させ、目的のページを吐き出したら
proxyサーバを終了させる。といった感じですか?
それともproxyサーバとcgiproxyは別の原理ですか?
0296nobodyさん
03/07/30 03:31ID:chNZYbR6Perlのことで質問したいのですが。
変数名の一部に変数の中の数字を埋め込んで
その変数名を代入したいのですが
どのようにいくのでしょうか?
ちょっと、言葉では分かりにくいので例を挙げると
例えば、$a1 $a2 $a3という変数があって
$bの中に1〜3のいずれかの数字が含まれているとし
この$bの中の数字を変数名として使いたいのです。
これを
$c = '$a' . "$b";
といった感じでやれば$aの方はそのまま文字列として出て
$bの方は変数の中身が展開されて出ると思ってやってみたのですが
エラーが出てしまいます。
どなたかお助けください。
よろしくお願いいたします。
0297あぼーん
NGNG0298nobodyさん
03/07/30 03:57ID:???0300nobodyさん
03/07/30 10:34ID:???300 GET ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
0301nobodyさん
03/07/30 10:34ID:???なんでそういう発想になるんかね。
他の言語じゃそういう質問見かけないんだが(ないことはないと思う)。
やっぱソフトリファレンスのせいなんだろうか。
0302nobodyさん
03/07/30 11:00ID:???> すいません。
> Perlのことで質問したいのですが。
> どのようにいくのでしょうか?
> ちょっと、言葉では分かりにくいので例を挙げると
> どなたかお助けください。
> よろしくお願いいたします。
読みにくくなるだけだから無駄に6行も余計なことを書くな
0304nobodyさん
03/07/30 11:36ID:???まぁ、ちゃんと変数の整理が出来てないつーのと、変数のスコープを理解してないってことじゃないだろうか・・・
0305nobodyさん
03/07/30 11:53ID:???それはPerlの優秀な点である。
その分ユーザーのレベルが下がるのは仕方がない。
0306nobodyさん
03/07/30 12:32ID:???理解しないまま進んでしまうんじゃないかな。
0307296
03/07/30 13:22ID:VqnJP0e8print ${'a'.$b};
だとスカラ変数だとうまくいったのですが
配列の変数だとうまくいかないようです。
$sen1[] $sen2[] $sen3[]という変数があって
$randaに1〜3という値が入ていて
print("{${sen$randa}[$i]}");
のように書いたのですが、どうもうまくいかないみたいです。
0308nobodyさん
03/07/30 13:43ID:???ヽ(*`Д´)ノ むちゃくちゃやんけー!
0309nobodyさん
03/07/30 14:05ID:???モジュールまたがってソフトリファレンス使ってるソースを見たことがある。
最初どこから変数が湧いてくるのか理解できなくて気絶するかと思った。
……って、これはマ板ネタか。
>>307
勉強しなおした方が良いと思われる。
0310296
03/07/30 14:09ID:QHsgEgDpPerlは今回初めての仕様で、まだ慣れてないんで
お許しください。
外の括弧で囲めば、配列の[]が文字列として認識されずに済むと
聞いてやってみたのですが
もしかして、これはPHPの文法でしょうか?
0311296
03/07/30 14:10ID:QHsgEgDp0312あぼーん
NGNG0313nobodyさん
03/07/30 15:13ID:???print ${'sen'.$b}[$i];
あと >>299 >>304 >>306 >>309 を10回ずつ声を出して読んで!!
お帰りはこちら ↓
http://www.google.co.jp/
0314nobodyさん
03/07/30 15:17ID:???> $sen1[] $sen2[] $sen3[]という変数があって
ってのは@sen1, @sen2, @sen3ってことか?
perlの配列がわかってれば、こんな書き方にはならないと思うのだが。
${'a'.$b}という回答を貰っておいて${sen$randa}[$i]はないだろ……。
print ${'sen' . $randa}[$i];
0315nobodyさん
03/07/30 16:38ID:Nvxneeyiif(!open(FH, ">>file")){ print 'file open error'; }
else{
flock(FH, 2);
print FH 'abcde';
close(FH);
}
このように追記モードの場合、flockは必要になるの
でしょうか。
0316nobodyさん
03/07/30 16:50ID:???0317あぼーん
NGNG0320nobodyさん
03/07/31 05:53ID:INH5PtXx上(最初)から順ではなく、下(最後)から読ませることは出来ませんか?
0322nobodyさん
03/07/31 07:08ID:???有難うございました。
0323nobodyさん
03/07/31 10:39ID:???0325あぼーん
NGNG0326あぼーん
NGNG0327あぼーん
NGNG0328あぼーん
NGNG0329nobodyさん
03/07/31 12:08ID:???$t = time;
print "UTC =", timegm( gmtime( $t ) ), "\n";
print "UTC =", timelocal( localtime( $t ) ), "\n";
gmtime とか localtime で返してくる値を time で
返す値の形式に戻すコードってこんなんでいい?
テストしたら一応2つとも同じ値返す様になったけど…。
0330nobodyさん
03/07/31 12:56ID:???誰かのお墨付きが欲しいの?
0331nobodyさん
03/07/31 13:18ID:???UTC の解釈もチョット間違ってたし<自分
0332nobodyさん
03/07/31 13:32ID:???0333あぼーん
NGNG0334nobodyさん
03/07/31 13:55ID:???のような小数計算で$tに正しく答が代入されないのはなぜですか?
0335nobodyさん
03/07/31 14:11ID:???0337336
03/07/31 14:22ID:???0338334
03/07/31 14:29ID:???代入して、htmlに書き出すだけです。
>336
そうなのですか…
遠回りですが整数でやることにします。ありがとうございました。
0339nobodyさん
03/07/31 14:55ID:???HTMLだと、<img>タグを使ってたのですが、
<img src="./hoge.cgi">
CGIファイルだと、これがうまく起動されないわけです。
print "<img src=\"./hoge.cgi\">";
どうしたら良いでしょうか?ご教授お願いします。
0341nobodyさん
03/07/31 16:11ID:???当たり前ですがエラーはでません。
起動したいファイルから吐き出しファイルが更新ができないだけなので、
どう質問したらいいでしょうか?よろしくお願いします。
って340じゃ無理か。(w
0342nobodyさん
03/07/31 16:20ID:???CGIから別のCGIを呼び出して、その出力を利用したいという事か?
お前の質問からそれを読み取るのは著しく困難だし、態度悪いから教えない。
0344nobodyさん
03/07/31 17:07ID:???0346nobodyさん
03/07/31 20:52ID:???いやもう見てて哀れだよ。
自分がたたかれてる理由がわからない奴ってのは。
しかしここで教えるとためにならんしなあ。
辛いところだ。
0347nobodyさん
03/07/31 21:26ID:???んでエラー吐かんのは当たり前なんかい。
ちゃんと動かんかったらエラー吐くようにしとらんだけやんか。
それがあんたにとって当たり前なら、あんたの書いたコードは書いた通り
正常にうごいとるわけで、プログラムはなんも悪くないとオモーヨ。
はぁ
0348nobodyさん
03/07/31 21:31ID:???0349nobodyさん
03/07/31 21:44ID:???0350nobodyさん
03/07/31 22:18ID:???そういう態度を取る可能性があるからね。
思い通りに動作しなかったり、質疑応答が長引いて耐え切れなくなったときに。
お互いがイヤな気持ちにならないためにも、そしてスレのためにもそういうアフォな質問者は
さっくりと無視しましょう。
0351nobodyさん
03/07/31 22:31ID:???if ($a<10)
これを
if ($a>1 && $a<10)
と書くような技法を何ていうんでしたっけ?知ってる人教えてください。
0352あぼーん
NGNG0353あぼーん
NGNG0354nobodyさん
03/07/31 22:47ID:???いやなら無視すりゃいいのに。
0355nobodyさん
03/07/31 22:57ID:???0356nobodyさん
03/07/31 23:20ID:???0357nobodyさん
03/07/31 23:26ID:???0361nobodyさん
03/08/01 04:05ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
0362nobodyさん
03/08/01 04:09ID:???0363nobodyさん
03/08/01 04:55ID:???0364nobodyさん
03/08/01 05:59ID:???たいていのことを自分で解決できるようになれば、まずは初心者脱出ってこと。
0365nobodyさん
03/08/01 08:23ID:???自分で調べる前に聞いているうちは一生初心者にすらなれない。
0366nobodyさん
03/08/01 10:15ID:???安めの本を買って、足りない部分は周りを利用する
どっちが初心者だろうね
0367nobodyさん
03/08/01 10:24ID:???0368nobodyさん
03/08/01 11:27ID:???0369nobodyさん
03/08/01 12:33ID:???0370nobodyさん
03/08/01 14:09ID:???「周り」が正規のマニュアルを指しているなら賛成だけど、
そうじゃないなら、たとえ馬鹿高くてもちゃんとした本を買うべきだと思う。
0372nobodyさん
03/08/01 14:36ID:???0373nobodyさん
03/08/01 16:33ID:???0374nobodyさん
03/08/01 16:47ID:???0376nobodyさん
03/08/01 17:30ID:???ヒントを乞う位なら構わんけどさ、自助努力の前にしつこく説明してクレクレ言う椰子は嫌だな。
一々誰かの時間を奪ってまで問答を求めるのは「上手な利用」とは言わない。
先人の知識ってのは先に書籍とかを当たった方がはやい。
それでも詰まったときに質問するのはアリ。
試行錯誤をめんどくさがり過ぎてるのがミエミエな奴はムカツク。
0378nobodyさん
03/08/01 18:06ID:???0379nobodyさん
03/08/01 18:46ID:???0380nobodyさん
03/08/01 19:50ID:???>>1 に書いてあるじゃん
【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
これに反するような質問が悪い例
0381nobodyさん
03/08/01 20:31ID:???0384nobodyさん
03/08/01 21:44ID:???質問を乞うぐらいにならんと上達せんよ。
まあ、中途半端な奴に言ってもわからかな。はは。
0385nobodyさん
03/08/01 21:47ID:???常識や礼儀を覚えてない奴は勘弁してくれ。
0386nobodyさん
03/08/01 22:18ID:???0387nobodyさん
03/08/01 22:21ID:???マトモな質問者なら大歓迎なのれす。
0388nobodyさん
03/08/01 22:50ID:???0389nobodyさん
03/08/01 22:58ID:???0390nobodyさん
03/08/01 22:58ID:???普通に質問しても「氏ね」とか言われたもんだ。
ここまで丸くなった2ちゃんでまだ叩かれてるような奴って……
0392nobodyさん
03/08/01 23:17ID:???0393nobodyさん
03/08/01 23:28ID:???これが見事に実践されてるわけだな。
アフォな質問にはアフォな回答が。
0394nobodyさん
03/08/01 23:48ID:???質問するときは内容をよく吟味してから投稿してください。
0396nobodyさん
03/08/02 01:55ID:O5cg5dSHsrand(time|$$);
を付けないと、rand が時間で決まってしまいます。
そんなもんなんですか?
0397山崎 渉
03/08/02 02:20ID:???( ^^ )< ぬるぽ(^^)
0400ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:48ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0401398
03/08/02 04:51ID:???0402nobodyさん
03/08/02 08:53ID:???0404nobodyさん
03/08/02 10:25ID:???0405nobodyさん
03/08/02 11:24ID:???while(time%60){
# wait..
}
print rand(), "\n";
をf複数のプロセスで動かしてみたけど、全部違う値になったよ。
WindowsXpHome ActivePerl 5.6.1/FreeBSD Perl 5.8.0/Linux Perl 5.6.1
実行環境と同じ値になる根拠をしめしてください。
0407nobodyさん
03/08/02 14:08ID:???@dat = split(/<>/, chomp $tmp);
$log[$i] の改行コードを省いたものをカットして @dat に格納して処理したいんですが、
$log[$i] そのものの改行コードは残しておきたく、$tmp を使っています。
これを一発で表現する方法を教えてもらえませんか?
0408nobodyさん
03/08/02 14:26ID:???@dat = split(/<>/, $log[$i]);
chomp $dat[-1];
0410nobodyさん
03/08/02 20:02ID:???*** Hello! Welcome to the 2ch World! ***
**************************************************
と表示しようとして、
#!/usr/bin/perl
print "content-type: text/html\n\n";
print "**************************************************\n";
print "*** Hello! Welcome to the 2ch World! ***\n";
print "**************************************************\n";
とメモ帳に入力してmona.cgiという名前で保存し、tok2.comにffftpを使ってうpしたのですが、
いざ結果を見てみると、
************************************************* *** Hello! Welcome to the 2ch World! ***
*************************************************
と言う風に表示されてしまいます。
どうしたら一番上のような結果にすることができるのでしょうか?
OSはWindowsです。どうかよろしくお願いします<(_ _)>
0412410
03/08/02 20:53ID:lcThEZovレスありがとうございます。
早速、 print "content-type: text/html\n\n";を print "content-type: text/plain\n\n";
に直して再度うpしてみたのですが、結果は同じでした(´・ω・`)ショボーン
誠にあつかましいのですが、他に良い方法は無いでしょうか?
どうかよろしくお願いします。
0413nobodyさん
03/08/02 20:55ID:???0415nobodyさん
03/08/02 21:04ID:84QkeiYeを、
2ちゃんねる(巨大掲示板)の詩・ポエム板
としたい(ようは、リンクを取り除きたい)のですが、
どうすればいいのでしょうか・・・?
わからないながらに、やってみましたが、
$HTMLContents =~ s/<a href="http:\/\/(.*)">(.*)<\/a>/$2/g;
とすると、「詩・ポエム板」しか$2に入りません。。。
0416nobodyさん
03/08/02 21:06ID:???最小マッチングでぐぐれ。
0417415
03/08/02 21:21ID:84QkeiYeさんくすです。
ぐぐりました。
$HTMLContents =~ s/<a href="http:\/\/(.*?)">(.*?)<\/a>/$2/g;
で解決しますた。
0418nobodyさん
03/08/02 21:40ID:lx3eHYOp@INCをコマンドラインで指定して実行する方法ってありましたっけ?
0419nobodyさん
03/08/02 21:42ID:???-Iオプションですね。。。
0420nobodyさん
03/08/02 21:43ID:???何故ヘルプを見ない?
-Idirectory specify @INC/#include directory (several -I's allowed)
0423nobodyさん
03/08/02 23:01ID:???print "**************************************************<BR>\n";
print "*** Hello! Welcome to the 2ch World! ***<BR>\n";
print "**************************************************<BR>\n";
0424nobodyさん
03/08/03 01:14ID:???htmlの場合はソース内の改行
当然見た目を改行させるには<br>がいる
0425412
03/08/03 09:51ID:???>>413
>>414
>>423
>>424
できました! こんなくだらない質問に答えてくれて皆さんどうもありがとう
ございました<(_ _)>
0426nobodyさん
03/08/03 12:05ID:???くだらないつーか。text/plainを勝手にtext/htmlと解釈することがあるという
IEの仕様にからむ、とても難儀な問題なのだよ。
0427nobodyさん
03/08/03 12:21ID:???0428nobodyさん
03/08/03 13:14ID:???内容を走査して、勝手に振る舞ってるってことかな
0429nobodyさん
03/08/03 13:26ID:???そういう糞ブラウザは、image/png でハードディスクの内容を消去するバイナリが埋め込まれていると、
実行しちゃうんだろうなぁ。。。
0430nobodyさん
03/08/03 15:35ID:???&foo( %ENV, "sample", 123456 );
sub foo
{
my (%a, $b, $c ) = @_;
}
こうやっても、%a $b $c に何も入ってこないよ〜
解らないよ〜ヽ(´Д`;)ノ
0431nobodyさん
03/08/03 15:49ID:???0432nobodyさん
03/08/03 15:59ID:???0433nobodyさん
03/08/03 17:33ID:???&foo( \%ENV, "sample", 123456 );
sub foo
{
my ($a, $b, $c ) = @_;
my %a = %$a;
}
リファレンスについては http://www.kt.rim.or.jp/~kbk/perl5.005/perlref.html
0434nobodyさん
03/08/03 17:42ID:???先越された(´・ω・`)
んじゃ一応補足……$a->{HOGE} とやればハッシュをコピーしなくてもそのまま参照可能。
配列の場合も同じように。
0435nobodyさん
03/08/03 17:47ID:???ハッシュは(key1,value1,key2,value2・・・)となってるただの配列。
で、配列は展開されちゃうから、
my %hoge = (1=>'a', 2=>'b');
&foo(%hoge, "sample", 123456);
sub foo {
my (%a, $b, $c ) = @_;
}
と書くと、%aには(1,'a',2,'b',"sample",123456)が入り、$b,$cはからになる。
ちなみにリファレンスを使うのが普通だが、使わないでやりたいなら
my %hoge = (1=>'a', 2=>'b');
&foo("sample", 123456, %hoge);
sub foo {
my ($b, $c,%a) = @_;
}
とすることもできる。
0436nobodyさん
03/08/03 17:50ID:???$a->{HOGE}とやると参照渡しになるので、その中身を変更しようとすると実引数の中身も書き変わる。
$ENV{HOGE} = 'hage';
&foo( \%ENV, "sample", 123456 );
print $ENV{HOGE}; # higeが表示される
sub foo
{
my ($a, $b, $c ) = @_;
$a->{HOGE} = 'hige'
}
0437nobodyさん
03/08/03 18:23ID:???値を@_へコピーするのに時間がかかる(メモリも喰う)から、
なるべくリファレンスを使うのをお勧めします。
0438nobodyさん
03/08/03 18:27ID:???> ハッシュは(key1,value1,key2,value2・・・)となってるただの配列
ソースキボンヌ
つーか、ただの配列だったらでかいハッシュに対して$foo{bar}なんてことは気軽に出来ないから、間違いじゃねーの。
0439nobodyさん
03/08/03 19:13ID:???0440430
03/08/03 19:27ID:???Cで言うと、アドレス(orポインター)渡しみたいなもんですか?
なんか、少し混乱気味ヽ(´Д`;)ノ
>>433-435 さんのレスを参考にコーディングしてみます。
0442nobodyさん
03/08/03 19:45ID:???0443nobodyさん
03/08/03 20:01ID:???ハァ?
>ただの配列だったらでかいハッシュに対して$foo{bar}なんてことは気軽に出来ないから
何をおっしゃってますか?
内部でハッシュ関数を呼び出して、得られた値をインデックスとして使っているのですよ。
配列はランダムアクセスできるからO(1)じゃん。
0447nobodyさん
03/08/03 21:55ID:HoJp4WnKContent-typeの表示が問題と思い、
なんとかEncoding:gzipかなんか書いたんですがだめでした。
何が問題と考えられるでしょう。
0448nobodyさん
03/08/03 22:08ID:???0449nobodyさん
03/08/03 22:10ID:???>>1を読まないのが問題。
2度と来るなとは言わんが、>>1を1日10回読んで1週間後にまた質問しに来い。
今日はもう書き込むな。
0452nobodyさん
03/08/04 13:19ID:???0453nobodyさん
03/08/04 13:53ID:???0454nobodyさん
03/08/04 14:08ID:???0455nobodyさん
03/08/04 15:43ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
また過去ログも情報の宝庫です。よく探してみましょうね。
1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
【よくある勘違い】
CGI ≠ Perl です。
判らなければまずはググってみましょう。> http://www.google.co.jp/
【初心者の扱い】
「初心者」だからといっても容赦しませんことよ。ふふふ。
0456nobodyさん
03/08/04 15:48ID:???差分取るソフトで使いやすくて便利なソフト教えてください。
早速、落としてこれから使っていこうと思いますので。
0459nobodyさん
03/08/04 16:33ID:???ソースはここから落とせるよ。
http://www.perl.com/pub/a/language/info/software.html
0460nobodyさん
03/08/04 16:47ID:???>>456の想像しているものとは違う気がする。
気の利いたエディタなら普通についてそうだし、
Windows用のを探しているなら「Windiff」で腐るほどヒットする。
# つか捻りの無いソフト名多すぎ:)
0461457
03/08/04 16:48ID:???# つか捻りの無いソフト名多すぎ:)
だな。俺もさっき調べてたけどWindiffって名前で色んな奴があるよな。
Cygwin入れてるから別にいいんだけどな。
0465nobodyさん
03/08/04 20:06ID:???漏れもうすぐネカフェの時間なので
0466あぼーん
NGNG0467あぼーん
NGNG0468あぼーん
NGNG0469nobodyさん
03/08/04 20:47ID:???負荷を考えると、ループの中でevalを使いたくないのです。
(ループさせる回数がとても多いので。)
現状では、こういう風にやってます。
eval('use Time::HiRes;');
if ( $@ eq undef ) {
require './lib/bench.pl';
$HIRES = 1;
&bench::start;
} else {
require './lib/dummy_bench.pl';
}
最初にこういう風にしておいて、
続く
0470nobodyさん
03/08/04 20:47ID:???package bench;
use strict;
use Time::HiRes;
sub start {
処理ほげほげ
}
sub check {
処理ほげほげ
}
1;
dummy_bench.plの中身は
package bench;
sub start {
}
sub check {
}
1:
Time::HiResが必要な処理の時は
&bench::check
等として呼ばれるわけですが、最初のevalのチェックで失敗してたら
ダミーのほうが読み込まれているので空のサブルーチンが呼ばれます。
このやり方について2点疑問があります。
1.ファイル名とパッケージ名は同一でなければならないと聞いたことがありますが、これはやってはいけない方法なのですか?
2.もっとスマートな方法があるならご教授ください。
0471nobodyさん
03/08/04 20:54ID:???0472nobodyさん
03/08/04 21:40ID:???1. 自分が何をやっているのか理解しているなら問題ない。
2. Time::HiRes の存在チェックを bench.pl 内でやれば
dummy_bench.pl は不要。
#--- Bench.pm ---
package Bench; # 小文字のみのパッケージ名はプラグマ
use strict;
eval ('use Time::HiRes;');
my $EnableHiRes = $@ ? 0 : 1;
sub start;
*start = $EnableHiRes ? sub { ... } : sub { ... };
#--- Bench.pm を使うスクリプト ---
use Bench;
Bench::start();
0473469
03/08/04 21:50ID:???とてもためになります!
これがきっかけで
ついでにいろいろ気になることも増えてきたので
勉強中です。。
0474469
03/08/04 23:32ID:???サブルーチンの定義自体をevalしないと
モジュールがないとき動きませんでした。
sub start;
*start = $EnableHiRes ?
eval 'sub { use Time::HiRes; ほげほげ }' : sub {};
#単純にevalの中でuseしてもされてないのでこうするしかないような
0475nobodyさん
03/08/05 00:29ID:???何故また use し直すんだ? 下のコードで試してみ。
Time::HiRes が存在すれば実際に sleep した時間が、
無ければ常に 1 が返ってくる。
#--- Stop.pm ---
package Stop;
use strict;
eval('use Time::HiRes qw(usleep);');
my $Enable = $@ ? 0 : 1;
sub stop;
*stop = $Enable ? sub { usleep($_[0] * 1_000_000) } : sub { sleep($_[0]) };
1;
__END__
#--- test.p ---
#!/usr/local/bin/perl
use strict;
use Stop;
local $| = 1;
print 'foo,';
my $wait = Stop::stop($ARGV[0]);
print "bar. ($wait)\n";
__END__
0476469
03/08/05 01:03ID:???まじすいませんです。
475のコードでもいろいろやってみました。
evalしないと動かなくなっていたのは
以後の処理のほうに問題があるっぽいです。
あるっぽいというのは、最小限の部分だけコード取り出して
いろいろ試してたら今動いたので。
これからじくーり調べます。
ほんとたすかりました。
0477nobodyさん
03/08/05 01:12ID:???if (require Time::HiRes) {
$Enable = 1;
Time::HiRes->import('usleep');
}
0478nobodyさん
03/08/05 05:31ID:???具体的には
「日本語 ファイル名テスト用ファイル.txt」を
%C6%FC%CB%DC%B8%EC%20%A5%D5%A5%A1%A5%A4%A5%EB%CC%BE%A5%C6%A5%B9%A5%C8%CD%D1%A5%D5%A5%A1%A5%A4%A5%EB.txt
このようにしたいのです、変換元の日本語はEUC(自身無い)です
今、他人のCGIをいじっているのですがそもそも反対のことをしているのはわかっているのですが
うまく、上の形になりません、何か効率のいい方法はありませんか?
0479478
03/08/05 05:33ID:???>うまく、上の形になりません、
うまく、上の形の文字列が取得できません
0480nobodyさん
03/08/05 06:02ID:???$str =~ s/(\W)/'%'.unpack("H2", $1)/ego;
print $str;
0481nobodyさん
03/08/05 10:33ID:???と
eval('use Time::HiRes;');
は何が違うの?
0482nobodyさん
03/08/05 11:03ID:???前者は実行できなかった時にコンパイルエラーになる。
後者は実行できなくてもそのまま進む。
0483nobodyさん
03/08/05 11:28ID:???俺の実力では原因が特定出来ないので相談にのってもらいに来ました。
ファイルの書き換えなのですが、日頃正常に動いていた動作で、
突然ファイルの中身が消滅してしまい、「0バイトのファイル」になってしまいました。
記述内では、ファイルを書きかえる処理として、
open(FILE,">$log_file");
print FILE $log_code;
close(FILE);
このようなもの「のみ」あり、$log_codeには必ず何かが代入されています。
$log_code に何かが代入されているのはこのプログラムの基本で、代入されていないわけはありません。
また、今回発生したバグと同一の処理は日頃から普通に行っていました。
また、このファイルは複数人数が書き換える物ではなく、
ID登録した「一人の人物」が書き換えるものなので、ファイルロックなどはしていませんでした。
今回のバグで、ファイルの中身が消滅してしまう原因となったアクセス者は、
「俺自身」です。
プログラム作者は俺自身なので、微妙に動作は怪しいですが、今回のは想定外のバグで、原因がつかめないでいます。
記述を考えても、処理自体のバグでファイルが消えてしまった事は非常に考えにくいのですが、
これは取り敢えず、
「処理自体のバグ」を疑うべきでしょうか?
「システムのファイル書き換えミス」を疑うべきでしょうか?
m(__)m
0484あぼーん
NGNG0485nobodyさん
03/08/05 11:55ID:???デバッグにおいてこういう思い込みは最大の敵。
必ずテストを行ない、その結果を確認する事。
この場合なら、openの前後の行にprintで$log_codeを表示させてみる。
はっきり言えば、>483の説明だけではなんとも言えない。
情報が少なすぎる。
0486nobodyさん
03/08/05 12:24ID:???die "Error : \$log_code" unless ($log_code);
とか
これを機にいろいろトラップしとき
0488nobodyさん
03/08/05 14:17ID:???両者の違いは、一気に構文解析がされるかされないか。
eval BLOCKの場合はそうされるので、eval 文字列よりも高速
0489483
03/08/05 14:46ID:???ありがとうございます。
同じように再現しようと思っても日頃からやってるのと同じ処理なので困ってました。
今度から、ことごとくプログラム内でエラーチェックしておくようにします。
バグの原因が分からない時ってスッキリしないですね。。。。汗
0490nobodyさん
03/08/05 16:01ID:???超高速でダブルクリックして呼び出しかけたらどうなんねん?
0491nobodyさん
03/08/05 17:42ID:???クレス
0493492
03/08/05 18:45ID:???もうひと言付け加えると今まで正常に動いていたのは$log_fileが軽かったから。
$log_fileのサイズが臨界点に達すると、鯖がいい加減にしろと作業途中で職場放棄。
0494483
03/08/05 20:36ID:???みなさんありがとうございました。
大変参考になりました。
>>492
それを回避するには、ファイルを2つ用意し、バックアップも常に生成しておけ…
と言う事でしょうか?
0495nobodyさん
03/08/05 20:58ID:???0496nobodyさん
03/08/05 21:07ID:???0498nobodyさん
03/08/05 22:11ID:???どのくらいよ?
0499nobodyさん
03/08/05 22:25ID:LRtAIpMcmy $et = int(rand(9));
if($et == 3){
srand(time|$$);
$et =int(rand(2)) ;
if($et == 0) {
@
}else{
A
だと、全部@になります。
2つ目の srand(time|$$); を無くすと、
正常になりますが、どうしてでしょうか?
0500nobodyさん
03/08/05 22:25ID:???排泄処理…?プロセス事故死の話だろ?
>>494が正解。
ただlogを毎回自動バックアップしてたら壊れたファイルも…ってことになるから、
その変自分のにあったうまい方法を考えておく事。
>>498
perlのメモリ管理はperl自身でやっているから、
つまり鯖によって設定が(ry
0501nobodyさん
03/08/05 22:29ID:???なんで2回も初期化してるのかは知らんけど。
randの出しかたはアルゴリズムがマシンによって違うぞ。
俺の勘では、それwin系のシステムで使ってないか?
0502あぼーん
NGNG0504nobodyさん
03/08/05 23:34ID:???これを動かしてみそ。
srand(time|$$);
my $base = rand;
print "base = ", $base, "\n";
srand(time|$$);
print "base*3 = ", $base*3, " rand(3) = ", rand(3), "\n";
srand(time|$$);
print "base*2 = ", $base*2, " rand(2) = ", rand(2), "\n";
しかし、srand(time|$$)って、Win系だと数列がほとんど変化しない予感。
0505あぼーん
NGNG0507504
03/08/06 01:10ID:???処理系によるかもしれませんが、大抵、srandに同じ乱数シードを与えると
randで読み出す乱数列が同じ物になります。
>>499の複数回のsrand(time|$$)で、$$(プロセスナンバー)は変化しません。
timeは一秒ごとに更新なので、これもほとんど変化しません。
つまりrandの前でsrand(time|$$)を実行することによって、(かなりの確率で)
同じ数列を読み出してることになります。
rand(n)はrand()*nと(最低でもperl5.005_03以降は)等価なので、
int(rand(9))==3が成り立ちrand()値が同じ場合、rand(2)で得られる値は
3.0/9*2=0.666..から3.999../9*2=0.888..までの値になります。
よってint(rand(2))で得られる値は常に0になります。
…多分ね。
0508nobodyさん
03/08/06 09:23ID:7imIHn2Wパッケージ($package)のシンボルテーブルを、%stabで参照できるようにする
コードとして、赤ラクダ本に次のように書いてありました。
local(*stab) = eval("*_$package");
(*_$packageの部分は、Perl5では、*{${package}::}だと思います。)
このevalは何をしているのでしょうか? あっても、なくても同じでしょうか?
perl4ではシンボリックリファレンスは使えなかったから、eval()が必要だった。
今ではわざわざeval()する必要はないね。
ついでに型グロブで別名をつける必要も無い。
my $stab_ref = \*{$package."::"};
これでシンボルテーブルへの参照を直接使えばいい。
0510nobodyさん
03/08/06 10:57ID:7imIHn2Wどうも有り難うございます。でも、Perl5でシンボリックリファレンスを使え
ないようにして、しかもevalなしでも動いてしまうのが不思議です。
use strict 'refs';
$package = 'main';
local(*stab) = "*${package}::";
while (($key, $val) = each(%stab)) {
local(*glob) = $val;
if (defined $glob) { print "$key => $glob\n"; }
}
あ、ホントだ。
多分、perl5からだと思う。
でも折角のstrict 'refs'なのに…変な仕様だね。
0512nobodyさん
03/08/06 11:45ID:JjxVikEHフォームから取り入れた情報にファイルを書き換えるコードを書いたんです。
そしたらその書き換えるファイルを開こうとしてもそのOPEN行でエラーが起こってしまうんです
どうしたらいいのでしょうか
open(FILE,"+<$fileini");
ご要望ならソースコードの一部または全部を載せますが・・・。
誰か教えてください。
0513nobodyさん
03/08/06 12:55ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
0514nobodyさん
03/08/06 13:11ID:???だってさ。
しかも、「ご要望なら」ソースを見せますが。だってさ。
誰の要望だよ。
ちなみにそのopenは書式ミスしてないよ。
0515nobodyさん
03/08/06 13:13ID:???Perlは変数の大きさを勝手に制限するような事はしないから、
Perlの設定や、鯖の設定(もしかしてこれは資源の制限値?)には関係なく、
Perlが取れる最大のメモリが影響する。
>>498
CGIとして動かすなら、ブラウザのタイムアウトでプロセスが殺されるという限界になるはず。
0516nobodyさん
03/08/06 13:15ID:???0517nobodyさん
03/08/06 13:19ID:???0518nobodyさん
03/08/06 13:40ID:???「CGI signal タイムアウト」でググってみ。
書籍があるならsignalの章を見てもいいぞ。
て、ここperlコーディングスレじゃん....
0519512
03/08/06 14:37ID:JjxVikEHHPの諸設定の書き換えがしたくてCGIをコーディングしたんですが
フォームで設定ファイルを書き換える段階まで来て、
このOPEN行で
Unterminated <> operator at administrator.cgi line 194.
ってでるんです。194行目は open(FILE,"+<$fileini"); です。
0520あぼーん
NGNG0522519
03/08/06 15:03ID:JjxVikEHそれでいけるんですか!?
0523519
03/08/06 15:06ID:JjxVikEHScalar found where operator expected at administrator.cgi line 194, at end of li
ne
syntax error at administrator.cgi line 194, near "open(FILE,"$fileini"
String found where operator expected at administrator.cgi line 201, near "print
FILE ""
(Might be a runaway multi-line "" string starting on line 194)
(Missing semicolon on previous line?)
Backslash found where operator expected at administrator.cgi line 201, near "pri
nt FILE "\"
(Do you need to predeclare print?)
syntax error at administrator.cgi line 227, near "}"
administrator.cgi had compilation errors.
0524nobodyさん
03/08/06 15:08ID:???local(*stab) = *{"${package}::"}; # シンボリックリファレンス
local(*stab) = "*${package}::"; # シンボリックリファレンスではない
$pkg = 'ABC';
print "*${pkg}::"; # *ABC::と表示
print eval("*${pkg}::"); # *main::ABC::と表示、何でこうなるかは不明
0525336
03/08/06 15:11ID:???とりあえず削除してみてどうなるのか確認したかった。
どっか前の行で"を付け忘れたりとかそんなミスじゃないの。
0528519
03/08/06 16:00ID:JjxVikEH一応一通り見てみたんですけど、おかしいとこはなかったんです。
sub formset {
# フォームデータ取得
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
} else {
$query="$ENV{'QUERY_STRING'};
}
# フォームデータ復元
foreach $pair (split(/&/, $query)) {
($key, $value) = split(/=/, $pair);
# 文字のデコード
$value =~ tr/+/ /;
$value =~ s/%[0-9a-fA-F][0-9a-fA-F]/chr(hex($1))/eg;
$foem{$key} = $value;
}
# ファイル出力
open(FILE,"+<$fileini");
seek(FILE,0,0);
foreach $key (sort keys %form) {
print FILE "\$$key=\"$form{$key}\"\;\n";
}
# ファイルを閉じる
close(FILE);
}
これがこのコードの入ったサブルーチンです。
このルーチンを抜いてチェックしてみたらsyntax OKでした。
0529519
03/08/06 16:01ID:JjxVikEH0530nobodyさん
03/08/06 16:04ID:???0532あぼーん
NGNG0533519
03/08/06 16:20ID:JjxVikEH今の今までまったく気がつきませんでした。
syntax OK出ました!!
ありがとうございました!
0534nobodyさん
03/08/06 17:11ID:???0535nobodyさん
03/08/06 17:51ID:???0536nobodyさん
03/08/06 18:27ID:???0537nobodyさん
03/08/06 18:34ID:???$query="$ENV{'QUERY_STRING'};
.....次の " を探し中....
open(FILE,"+<$fileini");
ビクッ. ∧ ∧ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Σ(゚Д゚;≡;゚д゚) < うおっ、 " がでてきたが、なんかすげえ所に迷い込んじまったぞ、ゴルァ!
./ つ つ \______________________
〜(_⌒ヽ ドキドキ
)ノ `Jззз
0538nobodyさん
03/08/06 18:40ID:???悪いが、この程度も自力解決できないようだと、プログラミングは難しい。
試しに聞いてみるが、この程度のエラーが出る度に2chで何日もかけて尋ねるのか?
0539nobodyさん
03/08/06 18:43ID:???>>528みたいに、前の"の対応ができてない。
EOFにエラー出る場合は、大体括弧の対応がおかしい。
このくらいは覚えれ
0540nobodyさん
03/08/06 18:48ID:???そういう奴が以前いたな。
0541nobodyさん
03/08/06 18:50ID:???で動きません。どうしてですか?
0542nobodyさん
03/08/06 18:58ID:???>>1
1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
0543nobodyさん
03/08/06 18:59ID:???Syntax errorがでました。
0544nobodyさん
03/08/06 19:07ID:???0546nobodyさん
03/08/06 20:05ID:???0548nobodyさん
03/08/06 20:59ID:???それと、
if(!iguzisuto "data.txtx"){処理;}
が動きません。
どうしてでしょうか。イグジストであってるはずなんですが・・・
0549nobodyさん
03/08/06 21:04ID:???o . 。 . . , . , o 。゚. ,゚ 。 + 。 。,゚.。
゚ , , 。 . + ゚ 。 。゚ . ゚。, ☆ * 。゚. o.゚ 。 . 。
。 . .。 o .. 。 ゚ ゚ , 。. o 。* 。 . o. 。 . .
。 . 。 . .゚o 。 *. 。 .. ☆ . +. . .
。 . . . . . 。 ゚。, ☆ ゚. + 。 ゚ ,。 . 。 , .。
゚ 。 ゚ . +。 ゚ * 。. , 。゚ +. 。*。 ゚. . . . .
。 . . 。 。゚. 。* 。, ´。. ☆。。. ゚。+ 。 .。 . 。 .
. 。 ゚ ゚。 。, .。o ☆ + ,゚。 *。. 。 。 . 。 .
゚ .゚ ゚ 。゚ + 。. +。 * 。゚。゚., ,+ 。゚. 。 . . , , .
゚。゚+゚`, o。。.゚*。゚ 。.゚ 。 ☆+。。゚. ° 。 . , ゚ ゚
。, .゚。 + ☆。,゚. o。 。+ 。゚., . ゚ , 。 。 . .
゚. o * 。゚。゚.。゚。+゚ 。 。 ゚。 ゚ 。 ゚
゚` .゚ .゚. ゚. . ゚ . ゚ . , . . . 。 ゚ .
. . . , 。 . . , .
。 ゚ . 。
, . . , . .
夏だね
。 V ∧∧ ∧∧ <うん。夏だ
( :;;;;;:::) ( :;;;;: )
. . /:;;;;;: | | :;;;:ヽ
〜(::;;;;;;:/. |:;;;;;;: )
‐''"´'''"""''"`''""`"""''''''"´'''"""''"`''""""'''"''''''"`"""''''``'‐
0550nobodyさん
03/08/06 21:05ID:???0551nobodyさん
03/08/06 21:24ID:???0552nobodyさん
03/08/06 21:27ID:ihwsdtLYはvalueを削除するがエントリーは残る、よって
$hash{'name'} = '';
と同じ。
undef $hash{'name'};
は未定義だからエントリーそのものがなくなる。
であってますか?
0553nobodyさん
03/08/06 21:54ID:???0557nobodyさん
03/08/06 22:20ID:???0559nobodyさん
03/08/07 07:46ID:???マニュアル *読めば* 理解できる事だが…
0560nobodyさん
03/08/07 10:17ID:MNjVgF7U$aの属性
$a = 100
$a1 = 200
$a2 = 300
$b
があるとする。このとき、$aの属性と$aの属性がぶつかったときは
なんともにないけど、$aの属性と$bの属性がぶつかったときは
条件が加えるようにしたい
それで
$aのときは条件をつけようと思ったんですけど、属性$aの定数が変数なので
条件がうまくつけられない
よい方法はないだろうか?
if = $a
だと下の2つが含まれなくなる。初心者だけど、わかりますか?
属性というのがわからない。
0563nobodyさん
03/08/07 10:29ID:MNjVgF7U属性というのは火属性は$aとする
$a1や$a2もダメージが違うだけで、火属性としたい。
$bや$cの属性も作りたいけど、ダメージ違いのものもたくさん作る。
このとき火属性と水属性がぶつかったら命中力がおちるとか
条件をつけたい
その属性を特定づける、うまい書き方ってありますか?
ダメージは相手の防御でランだムに減るので、数字は変数なので
固定させることはできないです。
0564nobodyさん
03/08/07 10:31ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
『どういう入力に対してどういう出力が出るのか書け』
0565nobodyさん
03/08/07 10:36ID:MNjVgF7U0566nobodyさん
03/08/07 10:41ID:MNjVgF7U$aは火
$a = 100
$a1 = 200
$a2 = 300
属性は水
$b = 100
$b1 = 200
$b2 = 300
if {
$火属製 = 条件
else { 水属性の条件
0567nobodyさん
03/08/07 10:44ID:MNjVgF7U$aで加えても$a1 $a2 は火属性の条件がつかないので、困る
0568nobodyさん
03/08/07 10:45ID:MNjVgF7Uとか変数になる
0569nobodyさん
03/08/07 10:48ID:???$magic[$zokusei]['lv1'] = 100;
$magic[$zokusei]['lv2'] = 200;
if($zokusei == "fire"){
if($zokusei == "water"){
水の時の処理;
}elsif($zokusei == "earth"){
土の時の処理;
}
}
俺ならこんな感じかな(手抜きでスマソ
0570569
03/08/07 10:49ID:???0571569
03/08/07 10:56ID:???phpと混ざってるし…
ちゃんと回線切って吊ってきて直してくる…
0572nobodyさん
03/08/07 10:57ID:MNjVgF7U自分のは無駄が多かったみたいです。ありがとうございます。
0574nobodyさん
03/08/07 11:07ID:MNjVgF7Uとりあえずgoogleさんでハッシュに関して調べてみるべし。
多分お前が望んでいる答えがそこにある。
$magic{$zokusei}{LV}
上記は、「魔法」の「属性」が「レベル幾つ」のものであるか、という意味だ。
プレイヤー1の魔法属性(仮に$magic_p1)とプレイヤー2の魔法属性($magic_p2)とする。
で
if($magic_p1 == "fire"){ ### プレイヤー1の属性が火の時
とかでいいんでない?
細かくはリファレンスでも見るよろし。
0576nobodyさん
03/08/07 11:16ID:MNjVgF7Uこれは問題ないですよね?
Perl のゲームに適した文法の辞書サイとを知りませんか?
0578nobodyさん
03/08/07 11:28ID:MNjVgF7Uあと、簡単なことは自分で調べたいんですが、
手元にある入門の本は不十分で、いろいろできないんですよ。
いいサイトしりませんか?
ちなみに、パール、辞書で調べると、パールスクリプトの辞書が
ひっかかって、肝心の言語辞書が全くみつからないです
0580nobodyさん
03/08/07 12:20ID:???属性もそうだが、自分用語を改めないことにはこの先もトラブルが絶えないぞ。
とりあえず先人のまとめてくれたテンプレ>>4-6を参考にすべし。
0581nobodyさん
03/08/07 12:25ID:???「ある1つの魔法に、属性や攻撃力など
複数のパラメータを設定するうまい書き方を教えてくれ」
と解釈して良いか?
↓複数のパラメータを設定する方法
$magic{'メラ'} = ['fire','100'];
$magic{'バキ'} = ['air','500'];
↓各パラメータの参照方法
print "$magic{'メラ'}[0]";
print "$magic{'バキ'}[1]";
0582nobodyさん
03/08/07 13:11ID:???0583nobodyさん
03/08/07 13:23ID:???>>581の例はハッシュの中に無名配列のリファレンスを入れた例かな。
実際はもっと複雑になると思われ。
0584nobodyさん
03/08/07 13:28ID:???ご回答よろしくお願いします。
0585nobodyさん
03/08/07 13:44ID:fxtSTKINopen IN,"file/name/to/convert";
open OUT,">file/name/to/convert.tmp";
while(<FILE>){
s/あいうえお/かきくけこ/g;
print OUT;
}
rename "file/name/to/convert.tmp","file/name/to/convert";
0586nobodyさん
03/08/07 13:57ID:2CZr0oIDopen($fh, "-|");
が開けなくて困っています。
Windows版のperlは-|は対応していないのですか?
素敵な対応方法を教えてください。
0588nobodyさん
03/08/07 14:35ID:???0590nobodyさん
03/08/07 15:13ID:???0591あぼーん
NGNG0592nobodyさん
03/08/07 16:03ID:MNjVgF7Uパンチの場合は、5回に1回はダメージ低い。
さらに5分の2の確率でミスをする。
というのを、1ターンの各攻撃を下のスクリプトに書いたが動かない
誰かこの初心者を助けてください
0593nobodyさん
03/08/07 16:03ID:MNjVgF7Uプレイヤー2は$play22の攻撃
$play11 = $sentaku1
$play22 = $sentaku1
$kik = 60
$sentaku = {
$play1 = int(rand 2)
if($play1 == 0) {
$kik
}
}
else($play1 == 1) {
$bougyo = int(rand 5)
if($bougyo =< 1){
0;
else($bougyo >= 2) {
1;
}
{
$panti = int(rand 5);
if($panti == 0) {
$panti1 = 10;
else($panti > 0) {
$panti2 = 20;
}
* $bougyo;
}
}
0594nobodyさん
03/08/07 16:32ID:???0595nobodyさん
03/08/07 16:40ID:???ちみ、潔いですね!男らしいですね!
ということで、『今回だけ特別に』解答してさしあげる。
構造化プログラミングが苦手そうなちみは、gotoを使いなさい。
0597nobodyさん
03/08/07 16:56ID:???$temp = A1 ? B :
A2 ? C ;
A3 ? D :
'';
とか、オレならやるかな…
0598nobodyさん
03/08/07 17:20ID:???0599nobodyさん
03/08/07 17:41ID:???0601nobodyさん
03/08/07 18:06ID:fDShQWtW192\.168\.0\.[24-26]
こんなイメージで正規表現使いたいのですが、勿論このままでは
とおりません。
何かいい書き方ありましたら教えてください。
0602nobodyさん
03/08/07 18:07ID:???0603601
03/08/07 18:07ID:???192\.168\.0\.[65-94]
です。
0604あぼーん
NGNG0605nobodyさん
03/08/07 18:11ID:???0608あぼーん
NGNG0609あぼーん
NGNG0610nobodyさん
03/08/07 18:55ID:???$addr="192.168.0.78";
$addr=~/192\.168\.0\.(\d+)/;
if($1>=65&&$1<=94){
0611nobodyさん
03/08/07 20:28ID:MNjVgF7Uとてもすばらしいじゃないですか
僕の芸術をケチつけられても困ります。
もっといい方法があるなら教えてくださいよ
0612あぼーん
NGNG0613nobodyさん
03/08/07 20:30ID:MNjVgF7U$play11 = $sentaku1
$play22 = $sentaku1
$kik = 60
$sentaku = {
$play1 = int(rand 2)
if($play1 == 0) {
$kik
}
}
else($play1 == 1) {
$bougyo = int(rand 5)
if($bougyo =< 1){
0;
else($bougyo >= 2) {
1;
}
{
$panti = int(rand 5);
if($panti == 0) {
$panti1 = 10;
else($panti > 0) {
$panti2 = 20;
}
* $bougyo;
}
}
0614nobodyさん
03/08/07 21:24ID:???0615nobodyさん
03/08/07 22:51ID:???とりあえず、まず文法守れや。
0616nobodyさん
03/08/08 00:55ID:???foreach $a ($b) {}
とするか
foreach ($b) {}
とするのはどっちのほうがいいのですか?
0618nobodyさん
03/08/08 01:06ID:XW8ex5pfライブラリ、jcode.plをjcodeg.plに変更し、コンバート処理を
&jcode'convert(*value, sjis);
から、
&jcode'convert(*value, "sjis", "", "z");
のように変更しました。
これで一応は半角カナも文字化けせず投稿できるようにはなったんですが、
ログファイルの更新ごとに、ログファイル先頭の部分に、
「*main::valuesjisz」
という何とも意味がわからぬ文字がついてしまうようになりました...
色々いじってみたのですが、上手くいきません。
どうしたら上手く処理出来るんでしょうか...
jocdeg.pl : ttp://jo.st45.arena.ne.jp/script/
0620nobodyさん
03/08/08 01:21ID:RBuH2Puu$play11 = $sentaku1
$play22 = $sentaku1
$kik = 60
だけど、エラーが出ます。なんでエラーでるんすか?
イフとエルスの置き方はちゃんとしてますよ。
ふざけてますね。
0621あぼーん
NGNG0622nobodyさん
03/08/08 01:23ID:???最低限文法とか調べてや。
ふざけてるのは(ry
単純文の終わりにはセミコロンがいるよ。
0623nobodyさん
03/08/08 01:25ID:???>あなたたち、これのどこがおかしいんですか?
>とてもすばらしいじゃないですか
>僕の芸術をケチつけられても困ります。
>
>もっといい方法があるなら教えてくださいよ
0624あぼーん
NGNG0625nobodyさん
03/08/08 01:31ID:???0626618
03/08/08 01:41ID:???どうもありがとうございます。
早速やってみたところ、500 Internal Server Errorが出てしまいました(~_~;)
他に手立てはないでしょうか?
よろしくお願いします。
0630nobodyさん
03/08/08 02:41ID:RBuH2Puuイフキック
エルス、パンチ(イフ、命中(イフ、5分の1で会心の一撃
(エルス、普通
(エルス、ミス
と言う様に、イフの中に、さらに3重、4重にイフやエルスを
クませることってできますよね?
あと、エラー出ても、500さーバーエラー、中見が悪いって内容の
エラーしか出ないんですけど、どこが悪いか詳細の出すことできないっすか?
自分のパソコンにアクティブ入れると、詳細出ますかね?
0631nobodyさん
03/08/08 02:43ID:???ベストでしょうか?DBは使わないとします。
要するに、行が色々なテスト名、列が生徒名となっているような典型的なテーブルです。
0633nobodyさん
03/08/08 02:56ID:???ハッシュだとキーはどうなりますか?
0634nobodyさん
03/08/08 03:01ID:???0635nobodyさん
03/08/08 03:53ID:???http://www.kt.rim.or.jp/%7ekbk/perl5.005/perllol.html
http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlref.html
0636あぼーん
NGNG0637あぼーん
NGNG0638あぼーん
NGNG0639あぼーん
NGNG0640あぼーん
NGNG0641nobodyさん
03/08/08 04:32ID:RBuH2Puuイフキック
エルス、パンチ(イフ、命中(イフ、5分の1で会心の一撃
(エルス、普通
(エルス、ミス
と言う様に、イフの中に、さらに3重、4重にイフやエルスを
クませることってできますよね?
0642nobodyさん
03/08/08 04:34ID:RBuH2Puuプレイヤー1は$play11の攻撃 プレイヤー2の$play22の攻撃;
$play11 = $sentaku1;
$play22 = $sentaku1;
$kik = 60;
$sentaku = {
$play1 = int(rand 2);
if($play1 == 0) {
$kik;
}
}
else($play1 == 1) {
$bougyo = int(rand 5);
if($bougyo =< 1){
0;
else($bougyo >= 2) {
1;
}
{
$panti = int(rand 5);
if($panti == 0) {
$panti1 = 10;
else($panti > 0) {
$panti2 = 20;
}
* $bougyo;
}
}
0644nobodyさん
03/08/08 04:44ID:RBuH2Puuイフ捕まる(アメリカに核を落とす
エルス捕まらない(イフ包茎じゃない(イフ、オレは天才(オレを総理に
逆らう者北朝鮮へ
(エルス、オレは天才じゃない
(世界を滅ぼす
(エルス包茎(世界を滅ぼす
と言う様に、イフの中に、さらに3重、4重にイフやエルスを
クませることってできますよね?
0646nobodyさん
03/08/08 04:49ID:RBuH2PuuPerl/CGI
入門教室
<h1>定価2800円
税なし
0648nobodyさん
03/08/08 04:54ID:RBuH2Puuサーバーはエラーばっか出しヤガル
自分のパソコンにアクティブ入れようか考え中
0649nobodyさん
03/08/08 04:54ID:???今日、オートロードってヤツをなんと初めて知った。恥ずかしい限り。
見た瞬間感動しちまった初心者な自分。
うん、いいね。あれ。
それだけです。
0650nobodyさん
03/08/08 04:55ID:RBuH2Puuパわーアップさせたら、そうなった
0651nobodyさん
03/08/08 04:56ID:RBuH2Puu0654nobodyさん
03/08/08 04:58ID:RBuH2Puu0655nobodyさん
03/08/08 05:01ID:RBuH2Puu半を選ぶ
そこにさらに半を選ぶと、半か丁か選ばれて内容がかわる
半か丁かを簡単に改造しただけなんだが
この始末だ
10日でおぼえるどころか、1日目から動かない
この本、だめすぎ
0657nobodyさん
03/08/08 05:13ID:RBuH2Puuif($bougyo =< 1){
の=と<が逆だな
56Pでわかったよ
これで動きそうだ
0658nobodyさん
03/08/08 05:30ID:fJ1eIuTwいや、報告しなくていいから。
ここはあんたの日記帳じゃないんだし。
0659nobodyさん
03/08/08 05:41ID:???--------------
実行してないから動くのか知らんけど暇つぶしに。誰が攻撃するのか分からんかったからこう書いた。
--------------
srand;
if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'攻撃力'} - $defense->{'守備力'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'攻撃力'} - $defense->{'守備力'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP'} -= $damage;
0660nobodyさん
03/08/08 05:44ID:???間違って存在しないサブルーチンに飛んだら、エラーを発生させず、特定のサブルーチンに移動してもらう昨日。
引数もちゃんと受け継がれる。
変数名で飛んでくルーチンを指定してる時とか便利かも。
使いかたは検索して。
0661nobodyさん
03/08/08 05:44ID:???二度と来るな!
0664nobodyさん
03/08/08 06:27ID:???0667nobodyさん
03/08/08 08:09ID:???if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
jcode::convert(\$buffer, 'euc');
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
てな感じで…
チャットなんもんで、htmlで出力してるんだけど
ヘッダには charset=Shift_JIS って書いてる。
でも文字化け全然しない…
不思議……(@▽@;)
0669nobodyさん
03/08/08 14:21ID:awu4UezKforeachを使うのが一番いいのでしょうか?
0672nobodyさん
03/08/08 15:25ID:???<q cite="http://www.kt.rim.or.jp/%7ekbk/perl5.005/perlstyle.html">
戻り値をただ単に捨ててしまうような void 文脈で、grep()やmap()、
`backticks` (訳注: `ls`のようにバッククォートで括った実行文のこと)
を使うことは避けましょう。そういった関数はすべて戻り値を持って
いるのですから、それを使うべきです。戻り値に用がないのであれば、
代わりにforeach()を使ったループか system()関数を使いましょう。
</q>
0674nobodyさん
03/08/08 16:22ID:???もし、 : の後にhogehogeがあるなら、:から:までを消すのはできたんですが
※こんな感じで s/:hogehoge.*?://g
その逆の、 : の後にhogehogeが ない なら、:から:までを消す 方法を教えてください。
0675nobodyさん
03/08/08 16:30ID:???0676あぼーん
NGNG0677あぼーん
NGNG0678あぼーん
NGNG0679あぼーん
NGNG0680あぼーん
NGNG0681nobodyさん
03/08/08 16:47ID:RBuH2Puu# CGIヘッダの出力
print "Content-type: text/html\n\n";
srand;
if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'攻撃力'} - $defense->{'守備力'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'攻撃力'} - $defense->{'守備力'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP'} -= $damage;
0682nobodyさん
03/08/08 16:52ID:RBuH2Puuあと何が必要ですか?
キャラはPlayer1とPlayer2
Player1はHP400、キック力は60、パンチ力は20、防御力は10
Player2はHP300、キック力は100、パンチ力は40、防御力は0
とりあえず1回動かしてみないと、先にすすめないし、
勉強もできない
困ったもんだ
0683nobodyさん
03/08/08 16:55ID:dNGBD9SF'tokyo' => [ qw(新宿 渋谷 原宿 池袋 秋葉原) ] ,
'kanagawa' => [ qw(横浜 藤沢 厚木 茅ヶ崎 横須賀) ] ,
);
という感じのデータで、$Japan{tokyo}を配列としてforeachでぐるぐる回したいのですが、
どのようにすればいいのでしょう?
foreach ( @$Japan{tokyo} ) { print; }
とやったのでは出来ませんでした。
0684nobodyさん
03/08/08 16:59ID:???サーバ上のPerlのバージョンを調べたいのです。
Niftyを利用しているのですが、
説明のページにもPerl5としかかかれておらず細かいところがわかりません。
#例えば5.6なのか5.8なのか不明だったり
Perlスクリプトで調べるにはどうやれば良いのでしょうか。
因みにNiftyはtelnet不可で標準モジュールも全く使えません。
0685nobodyさん
03/08/08 17:11ID:???#! /usr/local/bin/perl
print 'Content-Type: text/html',"\n\n";
print '<html>';
print $];
print '</html>';
ってな感じのCGIを設置してアクセスする。
0686nobodyさん
03/08/08 17:14ID:???>685
ありがとうございます。
5.00503だとわかりすっきりしました。
0687674
03/08/08 17:17ID:???0689688
03/08/08 17:20ID:???>>683
foreach (@{$Japan{tokyo}})
括弧ひとつ余計につけないとダメらしい
0690nobodyさん
03/08/08 17:33ID:RBuH2Puu# CGIヘッダの出力
print "Content-type: text/html\n\n";
# Player1
$HP = 400;
$KIK = 60;
$PAN = 20;
$DF = 10;
# Player2
$HP = 300;
$KIK = 100;
$PAN = 40;
$DF = 0;
# Player1
$kougeki1 = srand;
# Player2
$kougeki2 = srand;
srand;
if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
0691nobodyさん
03/08/08 17:33ID:RBuH2Puu#punch
$damage =
$offense->{'$PAN'} - $defense->{'$DF'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK'} - $defense->{'$DF'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP'} -= $damage;
# HTMLの出力
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>対戦バトル</title></head>\n";
print "<body>
<p>Player1:体力は$HP1です</p>
<p>Player2:体力は$HP2です</p>
<p>Player1は<big>$kougeki1</big>のダメージを与えた。</p>
<p>Player2は<big>>$kougeki2</big>のダメージを与えた。</p></body>\n";
print "</html>";
0692nobodyさん
03/08/08 17:34ID:RBuH2Puu考えるか
0693nobodyさん
03/08/08 17:37ID:???わざわざ貼らんでよろしい。
0694nobodyさん
03/08/08 17:39ID:???0695nobodyさん
03/08/08 17:57ID:RBuH2Puu0696nobodyさん
03/08/08 18:04ID:???0698nobodyさん
03/08/08 20:00ID:???KIKって(;´Д`)
0700nobodyさん
03/08/08 20:13ID:???0701nobodyさん
03/08/08 20:25ID:???0702nobodyさん
03/08/08 20:28ID:???$defense->{'HP'} -= $damage;
0703nobodyさん
03/08/08 20:35ID:???例えば$hogeは$fooか$barか$baz以外の値であればエラーとしたくて
if ($hoge ne ($foo or $bar or $baz)){&error(不正な値が混じってます);}
のように書いたりしたのですがダメでした。
0704nobodyさん
03/08/08 20:39ID:???0706nobodyさん
03/08/09 02:34ID:9s2Ca0tO$HP = 400;
$KIK = 60;
$PAN = 20;
$DF = 10;
# Player2
$HP = 300;
$KIK = 100;
$PAN = 40;
$DF = 0;
# Player1
$kougeki1 = srand;
# Player2
$kougeki2 = srand;
0707nobodyさん
03/08/09 02:34ID:9s2Ca0tOif($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN'} - $defense->{'$DF'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK'} - $defense->{'$DF'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP'} -= $damage;
0708nobodyさん
03/08/09 02:34ID:9s2Ca0tOprint "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>対戦バトル</title></head>\n";
print "<body>
<p>Player1:体力は$HP1です</p>
<p>Player2:体力は$HP2です</p>
<p>Player1は<big>$kougeki1</big>のダメージを与えた。</p>
<p>Player2は<big>>$kougeki2</big>のダメージを与えた。</p></body>\n";
print "</html>";
0709あぼーん
NGNG0710あぼーん
NGNG0711あぼーん
NGNG0712nobodyさん
03/08/09 02:40ID:???0713あぼーん
NGNG0714あぼーん
NGNG0715nobodyさん
03/08/09 02:48ID:???$defense->{'HP'} -= $damage;
0717あぼーん
NGNG0719nobodyさん
03/08/09 04:21ID:???教えたがりというか、得意になりたがるというか。
感謝のレスをもらって満足したいんだろうなぁ。
0720nobodyさん
03/08/09 04:37ID:???荒らしとしても最低の部類に入る。
あ、>>715と>>718見て気付いた。ここWebProgだったか。ならいいや。
0721nobodyさん
03/08/09 05:13ID:???馬鹿にして満足しているようだが、つまらんな。
いなくても誰も困らないからム板に引っ込んでいれば?
ム板住人にしては最低の部類に入るけどな。
0723nobodyさん
03/08/09 05:20ID:9s2Ca0tOおれは荒らしじゃねーよ!ヴォケ!!
相手にすんなよ、とか言ってる馬鹿がいるから荒れるんだよ
もとは、てめーみたいな無脳がいるから、住みつくんだっつーの!!
無脳を相手にするのは一番、気持ちいいからな!!馬鹿だから!!
0724nobodyさん
03/08/09 05:40ID:9s2Ca0tO# CGIヘッダの出力
print "Content-type: text/html\n\n";
while($HP1 > 0) and ($HP2 > 0){
srand1;
srand2;
}
# Player1
$HP1 = 400 - $kougeki1;
$KIK1 = 60;
$PAN1 = 20;
$DF1 = 10;
# Player2
$HP2 = 300 - $kougeki2;
$KIK2 = 100;
$PAN2 = 40;
$DF2 = 0;
# Player1
$kougeki1 = srand;
# Player2
$kougeki2 = srand2;
0725nobodyさん
03/08/09 05:40ID:9s2Ca0tOif($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN1'} - $defense->{'$DF2'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK1'} - $defense->{'$DF2'};
}
0726nobodyさん
03/08/09 05:40ID:9s2Ca0tOif($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN2'} - $defense->{'$DF1'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK2'} - $defense->{'$DF1'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP1'} -= $damage;
($damage < 0) and ($damage = 0);
$defense->{'HP2'} -= $damage;
0727nobodyさん
03/08/09 05:41ID:9s2Ca0tOprint "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>対戦バトル</title></head>\n";
print "<body>
<p>Player1:体力は$HP1です</p>
<p>Player2:体力は$HP2です</p>
<p>Player1は<big>$kougeki1</big>のダメージを与えた。</p>
<p>Player2は<big>>$kougeki2</big>のダメージを与えた。</p></body>\n";
print "</html>";
0728nobodyさん
03/08/09 05:42ID:9s2Ca0tO($damage < 0) and ($damage = 0);
$defense->{'HP1'} -= $damage
がいまいち理解できんよ。
0729nobodyさん
03/08/09 06:25ID:???0731nobodyさん
03/08/09 07:18ID:???それに、こういうのは名無し相手には強気になれても、システム側の人間が動き出せば
態度が一変するよ。ほんと面白いぐらいに。
0732nobodyさん
03/08/09 07:20ID:???0733nobodyさん
03/08/09 07:40ID:???0734659
03/08/09 08:42ID:???基本的な文法と、ハッシュとリファレンスを覚えなよ(659のヤツを組み込みたいなら)。
ここで質問しても迷惑だし、無意味だぞ。
ただ目立ちたいだけならさっさとどっか行きな。
0735nobodyさん
03/08/09 09:58ID:???>($damage < 0) and ($damage = 0);
>$defense->{'HP1'} -= $damage
>がいまいち理解できんよ。
ほかもまったく理解できてないだろ
0736nobodyさん
03/08/09 10:34ID:???幼女板にもおながいします。
◆スクリプト&コピペ(乱立)荒らし報告スレ7
http://qb.2ch.net/test/read.cgi/operate/1060158648/l50
>>735
> >($damage < 0) and ($damage = 0);
and しなくてもいいよな(w
0737同一人物による大量の書き込み
03/08/09 10:50ID:???560,563,565-568,572,574,576,578,592,593,611,613
03/08/08(Fri) ID:RBuH2Puu
620,630,636-642,644,646,648,650-651,654-655,657,676-678,680-682,690-692,695
03/08/09(Sat) ID:9s2Ca0tO
706-711,713-714,723-728
スレッドの約6%を消費。
0738nobodyさん
03/08/09 11:24ID:???0739nobodyさん
03/08/09 12:33ID:???&error('不正な値が混じってます') unless grep{$hoge eq $_}($foo,$bar,$baz);
とか
0740703
03/08/09 13:02ID:???$hogeと$fooが一致しないか(or)$hogeと$bar一致しないか(or)とかいう風に
考えてしまいました…。
>739
どもです。
そちらの方がすっきりしてますね。
0741nobodyさん
03/08/09 13:03ID:aJfrmQrg0742あぼーん
NGNG0743nobodyさん
03/08/09 14:05ID:9s2Ca0tOというより、動かねーよ!
0744あぼーん
NGNG0745あぼーん
NGNG0746あぼーん
NGNG0747あぼーん
NGNG0748あぼーん
NGNG0749あぼーん
NGNG0750あぼーん
NGNG0751nobodyさん
03/08/09 14:59ID:???0754nobodyさん
03/08/09 15:32ID:???@array = ($foo,$bar,$baz);
&error('不正な値が混じってます') unless grep{$hoge eq $_}@array;
すっきりしてる、っていうか上みたいな使い方ができるので、
比較対照が可変の場合に楽。
0755nobodyさん
03/08/09 18:46ID:9s2Ca0tO# CGIヘッダの出力
print "Content-type: text/html\n\n";
while($HP1 > 0) and ($HP2 > 0){
srand1;
srand2;
}
# Player1
$HP1 = 400 - $kougeki1;
$KIK1 = 60;
$PAN1 = 20;
$DF1 = 10;
# Player2
$HP2 = 300 - $kougeki2;
$KIK2 = 100;
$PAN2 = 40;
$DF2 = 0;
# Player1
$kougeki1 = srand;
# Player2
$kougeki2 = srand2;
0756nobodyさん
03/08/09 18:47ID:9s2Ca0tOif($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN1'} - $defense->{'$DF2'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK1'} - $defense->{'$DF2'};
}
0757nobodyさん
03/08/09 18:47ID:9s2Ca0tOif($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN2'} - $defense->{'$DF1'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK2'} - $defense->{'$DF1'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP1'} -= $damage;
($damage < 0) and ($damage = 0);
$defense->{'HP2'} -= $damage;
0758nobodyさん
03/08/09 18:47ID:9s2Ca0tOprint "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>対戦バトル</title></head>\n";
print "<body>
<p>Player1:体力は$HP1です</p>
<p>Player2:体力は$HP2です</p>
<p>Player1は<big>$kougeki1</big>のダメージを与えた。</p>
<p>Player2は<big>>$kougeki2</big>のダメージを与えた。</p></body>\n";
print "</html>";
0759あぼーん
NGNG0760あぼーん
NGNG0761あぼーん
NGNG0762nobodyさん
03/08/09 18:52ID:???killかrmかなんだかしてやってほしい
0763nobodyさん
03/08/09 18:54ID:aJfrmQrg0766nobodyさん
03/08/09 19:21ID:???0767nobodyさん
03/08/09 20:55ID:???0768nobodyさん
03/08/09 21:13ID:???http://qb.2ch.net/test/read.cgi/operate/1060158648/585
こっちにもあげときました。
0769momo
03/08/09 21:29ID:jpYU10pthttp://***.com/~sub/みたいなチルダが入るとバグってしまうんです…
以下にそのまま書いたのでどこを直せばいいのか教えて頂けないでしょうか?
よろしくお願いいたします。
#!/usr/local/bin/perl
print qq|content-type: text/html\n\n
<HTML>
<HEAD>
<TITLE>JUMP</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</HEAD>
<BODY bgcolor="#FFFFFF" text="#000000">
<B><A href=$ARGV[0]>$ARGV[0]</A></B>
<HR>
次のサイトにジャンプしようとしています。
</BODY>
</HTML>|;
0770nobodyさん
03/08/09 21:41ID:???あと、METAタグを使う理由がわからん…
0771nobodyさん
03/08/09 21:43ID:???0772nobodyさん
03/08/09 21:49ID:???http://pc2.2ch.net/test/read.cgi/php/1059878966/21
0774nobodyさん
03/08/09 22:47ID:???0775sage
03/08/09 22:47ID:jpYU10pt0776nobodyさん
03/08/09 22:49ID:GqH0THDn}elsif(a){
}elsif(b){
}elsif(b){
と表示するのと、
}elsif((a)||
(b)||
(c))){
と表示するのとでは効果は同じですよね?
上の方が分かりやすいから私は上を使っているんですが、
何かデメリットはあるんでしょうか?
0778nobodyさん
03/08/09 23:13ID:???俺なら下を使うね。
0779momo
03/08/09 23:18ID:???http://hogehoge.com/jump.cgi?http://yahoo.com/~sub/
のリンクだと
http://yahoo.com/\~sub/となってしまい、うまくhttp://yahoo.com/~sub/に
飛ぶことが出来ないんです
0781nobodyさん
03/08/09 23:41ID:???失礼ですが貴方は hogehoge.comとyahoo.comのオーナー様でしょうか?
公に使用者が開示されているドメインネームを不当にドキュメント等に用いるマナー違反者が
増えていますので。 念のため確認です。
0782nobodyさん
03/08/09 23:51ID:???#! /usr/local/bin/perl
print qq|Content-type: text/html; charset=Shift_JIS
<HTML>
<HEAD>
<TITLE>JUMP</TITLE>
</HEAD>
<BODY bgcolor="#FFFFFF" text="#000000">
<B><A href=$ENV{'QUERY_STRING'}>$ENV{'QUERY_STRING'}</A></B>
<HR>
次のサイトにジャンプしようとしています。
</BODY>
</HTML>|;
exit;
これでいいかね
0783あぼーん
NGNG0785あぼーん
NGNG0786あぼーん
NGNG0787あぼーん
NGNG0788あぼーん
NGNG0789nobodyさん
03/08/10 02:36ID:c9slSjrq# CGIヘッダの出力
print "Content-type: text/html\n\n";
while($HP1 > 0) and ($HP2 > 0){
srand1;
srand2;
}
# Player1
$HP1 = 400 - $kougeki1;
$KIK1 = 60;
$PAN1 = 20;
$DF1 = 10;
# Player2
$HP2 = 300 - $kougeki2;
$KIK2 = 100;
$PAN2 = 40;
$DF2 = 0;
# Player1
$kougeki1 = srand;
# Player2
$kougeki2 = srand2;
0790nobodyさん
03/08/10 02:36ID:c9slSjrqif($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN1'} - $defense->{'$DF2'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK1'} - $defense->{'$DF2'};
}
0791nobodyさん
03/08/10 02:37ID:c9slSjrqif($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN2'} - $defense->{'$DF1'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK2'} - $defense->{'$DF1'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP1'} -= $damage;
($damage < 0) and ($damage = 0);
$defense->{'HP2'} -= $damage;
0792nobodyさん
03/08/10 02:39ID:c9slSjrqprint "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>対戦バトル</title></head>\n";
print "<body>
<p>Player1:体力は$HP1です</p>
<p>Player2:体力は$HP2です</p>
<p>Player1は<big>$kougeki1</big>のダメージを与えたため、
Player1は喜んだ。「命!!」</p>
<p>Player2は<big>>$kougeki2</big>のダメージを与えたため、
Player1は喜んだ。「炎!!」</p></body>\n";
「つまんねー、馬鹿!」とやじが飛んだ。
print "</html>";
0793あぼーん
NGNG0795nobodyさん
03/08/10 03:16ID:???削除人は何やってる?
0796nobodyさん
03/08/10 03:34ID:???削除依頼だけしっかりやっときましょう。
0797nobodyさん
03/08/10 03:43ID:???所定の回数に達したらアク禁になるわけだし
俺と同じISPじゃなきゃいいが・・・
0799nobodyさん
03/08/10 09:57ID:???俺の書き込みも削除依頼されとる・・・
0800nobodyさん
03/08/10 10:05ID:???変換前の形式は、ちょっと特殊で年月日時分となってます。
0308100000
変換後は、クッキー形式にしたいです。
Thu, 01-Jan-1970 00:00:00 GMT;
年、月、日、時、分は、ほぼそのままでOKですが、曜日とGMTへの変換はどのように
すればよいのでしょうか?
よろしくお願いします。
0801あぼーん
NGNG0802nobodyさん
03/08/10 10:31ID:9Q9rpSmQuse ABC; と @ISA = ('ABC'); とは何が違うのですか?
0803nobodyさん
03/08/10 10:38ID:???0804nobodyさん
03/08/10 10:39ID:???自前で計算して用意するか、
time()みたいに、1970年1月1日からの秒数に変換して、そこからlocaltimeで変換するか
0805nobodyさん
03/08/10 10:40ID:???http://books-support.softbank.co.jp/pn/fumo01.html
>>802
http://www.rfs.jp/sitebuilder/perl/04/03.html
0806nobodyさん
03/08/10 10:50ID:???後者の方法はサブクラス化という方法で ABC 内の関数を
オーバーライドしたい時などその方法を使用する
…ぐらいしか思いつかないな
0807nobodyさん
03/08/10 13:03ID:????あれにかかわったレスも削除して「なかったことに」してもらうのが一番。
ついでに削除屋さんは広告も一括して削除してくれたらありがたいなぁ。
0808nobodyさん
03/08/10 13:25ID:???依頼者と違いますが、>>73に追加です。削除理由は同じです
削除対象アドレス:
http://pc2.2ch.net/test/read.cgi/php/1059043704/744-750
http://pc2.2ch.net/test/read.cgi/php/1059043704/759-761
http://pc2.2ch.net/test/read.cgi/php/1059043704/768-788 ←ここ!
http://pc2.2ch.net/test/read.cgi/php/1059043704/793
削除理由・詳細・その他:
巨大AA連続投稿(ほぼ同一人物)
荒らしをしている人物は夏の風物詩で、暫く粘着しそうなので、こまめに削除依頼出すのでよろしく。
0809nobodyさん
03/08/10 14:29ID:???my ($year, $mon, $mday, $hours, $min) = unpack('A2A2A2A2A2', $packed_data);
で返った値をtimegm();につっこむ。$mon-1と$year+100を忘れずに。
>>802
useは@INCを辿ってモジュールを探して、
見つけたら読み込んでimportメソッドを実行する。
importされた関数、変数などが別名(エイリアス)で扱えるようになる。
コンパイル時に処理される。
@ISAはクラス内に呼び出されたメソッドがない場合、
@ISAを辿って目的のメソッドを探して実行するようになる。
実行時に処理される。
0810nobodyさん
03/08/10 16:29ID:???作ってみました。
package AB;
sub aloc {
my ($pkg, $a, $b) = @_;
my $obj = bless {"a" => $a, "b" => $b}, $pkg;
return $obj;
}
1;
0811nobodyさん
03/08/10 16:30ID:???package X;
use AB;
@ISA = ('AB');
sub new {
my ($pkg, $a, $b, $x) = @_;
my $obj = $pkg->aloc($a, $b);
$obj->{"x"} = $x;
return $obj;
}
1;
#!/usr/bin/perl
use X;
$q = X->new('A', 'B', 'X');
$ans = $q->{'x'};
print "$ans\n"; # Xと表示、OK
試しに、パッケージXの@ISAの行をコメントにしてみると、alocが見つから
ないと言われます - 当然です。
そこで、パッケージABの2行目に、
use Exporter; @ISA = ('Exporter'); @EXPORT_OK = ('aloc');
を挿入し、パッケージXのuseを
use AB('aloc');
に変更してみたら、上手く行きました。
ということで、useと@ISAの機能は分かりましたが、今度は、ABやXのような
クラスを実装する場合、Exporterで輸出するのが良いのか、それとも@ISAで
継承するのが良いのか、が分からなくなりました。
0812あぼーん
NGNG0813nobodyさん
03/08/10 16:31ID:c9slSjrqif($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN1'} - $defense->{'$DF2'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK1'} - $defense->{'$DF2'};
}
0814nobodyさん
03/08/10 16:32ID:c9slSjrqif($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN2'} - $defense->{'$DF1'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK2'} - $defense->{'$DF1'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP1'} -= $damage;
($damage < 0) and ($damage = 0);
$defense->{'HP2'} -= $damage;
0815nobodyさん
03/08/10 16:32ID:c9slSjrqprint "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>対戦バトル</title></head>\n";
print "<body>
<p>Player1:体力は$HP1です</p>
<p>Player2:体力は$HP2です</p>
<p>Player1は<big>$kougeki1</big>のダメージを与えた。</p>
<p>Player2は<big>>$kougeki2</big>のダメージを与えた。</p></body>\n";
print "</html>";
0816あぼーん
NGNG0817nobodyさん
03/08/10 16:37ID:???↓ハイ、次の方どうぞ
0818あぼーん
NGNG0819あぼーん
NGNG0820あぼーん
NGNG0821あぼーん
NGNG0822あぼーん
NGNG0823nobodyさん
03/08/10 17:21ID:???にゅ速で美味しんぼ連載してるひと?
0824nobodyさん
03/08/10 17:28ID:???0825nobodyさん
03/08/10 17:47ID:???0826nobodyさん
03/08/10 19:14ID:???0827nobodyさん
03/08/10 20:43ID:???継承が必要なら@ISAを使う、隠蔽したいなら使わない。かな。
(深く考えた事ないですね。オブジェクト指向なら継承しとけみたいな。)
モジュールはexportした方が便利かと。
(というか、するべきものだと思ってました。)
# 蛇足ですがalocはallocでは。
0828nobodyさん
03/08/10 21:37ID:???「そこで、パッケージABの2行目に、
use Exporter; @ISA = ('Exporter'); @EXPORT_OK = ('aloc');
を挿入し、パッケージXのuseを
use AB('aloc');
に変更してみたら、上手く行きました。」
と書きましたが、実行できるようにするだけなら、ここまでしなくても、
alocの呼び出しを、AB::alocとするだけで、充分ですよね。
「継承」の意味が良く分からないです(@ISA使わなくても、useで充分じゃない
のかなって思ってしまいます)。
オブジェクト指向の本質が分かってないんでしょうね。
# ご指摘のとおり、alocはallocのつもりでした。
0829nobodyさん
03/08/10 22:08ID:???Hoge.pm
--------------------------------
package Hoge;
import{ エクスポートな処理 }
--------------------------------
というものがあったとしたら、
use Hoge;
は、
BEGIN{
require Hoge;
Hoge->import;#または、import Hoge;と書いてもあり。
}
を実行しているだけ。
importメソッドがなけりゃ、
BEGIN{ require Hoge; }
と同じ。
だから、クラスによって違うのさ。
0830nobodyさん
03/08/10 22:21ID:???例えば10.99時間を10.59時間という風に小数点以下の部分を
きちんと分にする方法ってありませんか。
今は
my(@time_temp) = split(/\./, $time);
$time_temp[1] = int(60 * $time_temp[1] / 100);
$time = $time_temp[0].'.'.$time_temp[1];
とかやってるのですがもう少しすっきり出来たら良いなあと。
0831nobodyさん
03/08/10 22:27ID:???何がしたいのか意味不明
0832nobodyさん
03/08/10 22:27ID:???$time_temp[0]時間$time_temp[1]分
としたので三行目は無しで。
0833nobodyさん
03/08/10 22:48ID:???これ加えたほうがいいかと
0834nobodyさん
03/08/10 22:54ID:???$time =<>;
chomp($time);
my(@time_temp) = split(/\./, $time);
if(length($time_temp[1]) eq "1"){$time_temp[1] = $time_temp[1] * 10;}
$time_temp[1] = int(60 * $time_temp[1] / 100);
print "$time_temp[0]時間$time_temp[1]分\n";
0835nobodyさん
03/08/10 22:56ID:???0838nobodyさん
03/08/10 23:00ID:???http://perl.infoware.ne.jp/documents/perlboot.ja.html
>>830
$time = sprintf '%02d 時間 %02d 分', $time, ($time * 60) % 60, $time;
0839nobodyさん
03/08/10 23:18ID:64afxySW一つのファイルで、1500 行
を超えてしまいました。
行数が多いと何か不都合は起きますでしょうか?
お教え下さい。
0840nobodyさん
03/08/10 23:27ID:STOMuStSprint qq|<a href="hoge">fuga</a>|;
ってやればコードが見やすいのに、
いちいち
print "<a href=\"hoge\">figa></a>";
ってやってる人が多いんですか?
qqのほうが、コーディングもよけいなことあんまり考えなくて、はやくすむと思うんだけど
0841nobodyさん
03/08/10 23:30ID:???それを見やすいと思うのはPerlユーザーだけ。
俺は使い分けてるけどね。
0842nobodyさん
03/08/10 23:30ID:???最後の$time要らん。
>>839
そのスクリプトを保守する人間が困らないのなら別に問題無し。
>>840
最初に覚えた方法が一番分かり易いと思い込んでいる人は多い。
もちろんその方法しか知らない人も多い。
0843840
03/08/10 23:41ID:???なるほどねー。
自分最初にPerlおぼえて、
そのあとちょっとPHPかじって、
Javaおぼえようかなーて思ってる程度だからなー。
0845nobodyさん
03/08/11 00:55ID:???$time =<>;
my(@time_temp) = split(/\./, $time);
chomp($time);
if(length($time_temp[1]) eq "1"){$time_temp[1] = $time_temp[1] * 10;}
time = sprintf '%02d 時間 %02d 分', $time, ($time * 60) % 60, $time;
print "<a href=\"hoge\">figa></a>";
$time_temp[1] = int(60 * $time_temp[1] / 100);
print "$time_temp[0]時間$time_temp[1]分\n";
0846あぼーん
NGNG0847あぼーん
NGNG0848nobodyさん
03/08/11 00:59ID:???# CGIヘッダの出力
print "Content-type: text/html\n\n";
while($HP1 > 0) and ($HP2 > 0){
srand1;
srand2;
}
# Player1
$HP1 = 400 - $kougeki1;
$KIK1 = 60;
$PAN1 = 20;
$DF1 = 10;
# Player2
$HP2 = 300 - $kougeki2;
$KIK2 = 100;
$PAN2 = 40;
$DF2 = 0;
# Player1
$kougeki1 = srand;
# Player2
$kougeki2 = srand2;
0849nobodyさん
03/08/11 00:59ID:???if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN1'} - $defense->{'$DF2'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK1'} - $defense->{'$DF2'};
}
0850nobodyさん
03/08/11 01:00ID:???if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN2'} - $defense->{'$DF1'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK2'} - $defense->{'$DF1'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP1'} -= $damage;
($damage < 0) and ($damage = 0);
$defense->{'HP2'} -= $damage;
0851nobodyさん
03/08/11 01:02ID:???print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>対戦バトル</title></head>\n";
print "<body>
<p>Player1:体力は$HP1です</p>
<p>Player2:体力は$HP2です</p>
<p>Player1は<big>$kougeki1</big>のダメージを与えた。</p>
<p>Player1は<big>$kougeki1</big>のダメージを受けて混乱した。
<p>Player1は<big>$kougeki1</big>のダメージで野原でクソをし始めた。
<p>Player2は<big>>$kougeki2</big>のダメージを与えた。</p>
<p>Player2は<big>>$kougeki2</big>のダメージを受けて裸踊りを始めた。
<p>Player2は<big>>$kougeki2</big>のダメージで光浦なみの女にレイプし始めた。</p></p></body>\n";
print "</html>";
0853nobodyさん
03/08/11 10:23ID:???0855nobodyさん
03/08/11 12:03ID:vd5Ibrol∧_∧∩ /
( ´∀`)/<真珠のPerlと何が違うんですか!?
_ / / / \___________________
\⊂ノ ̄ ̄ ̄ ̄\
||\ \
||\|| ̄ ̄ ̄ ̄ ̄||
|| || ̄ ̄ ̄ ̄ ̄||
.|| ||
0856nobodyさん
03/08/11 12:04ID:???/"""''/ーナ-t----|
. / ,.‐ ⌒ /ヘ
{入|(・) (・) ||||||| / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|⊂⌒◯-------9) < まだ、動かないぜ!ベイビー!!
| |||||||||_ | \_______
\ ヘ_/ \ / ̄`\、
. \、__ i⌒i/, -'"~ `ヽ、
,.‐'´ i--i \
`〈ヽ, -'"~T ヽ、 , -'" ~ `ヽ、
/ ( ̄ T iヽ、__ \.
/ ( ̄T | `ヽ、 }
く  ̄ `ヽ、/__ /
0857nobodyさん
03/08/11 12:07ID:???|| ($damage < 0) and ($damage = 0);
|| $defense->{'HP1'} -= $damage;はダメージ
|| ∧_∧ 。
|| ( ^^ )/
 ̄ ̄ ̄ ̄ ̄ ̄ ( つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/  ̄ ̄ ̄ ./| lヽ──────────────
| ̄ ̄ ̄ ̄| | | ダメージを受けると、糞をもらします
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧ ∧ ∧,,∧ ∧ ∧
(・,, ∧▲ ミ ∧ ∧ ( ∧ ∧
〜(_( ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
@(_(,,・∀・)@ ( *)〜ミ_ ( ,,)
@(___ノ 〜(___ノ 〜(___ノ
0858nobodyさん
03/08/11 13:19ID:???でアクセスして表示しますよね?
これってこの全てのディレクトリの下にindex.htmlか.cgiかなにかを置いてあって、
それを表示してるってことですよね?
でも
鯖/カテゴリ/.../dat/
これでアクセスしたときと、
鯖/カテゴリ/.../dat/index.htmlでアクセスしたときと、
表示が微妙に違うんです。
どういう仕組みで表示させてるんでしょうか?
0860nobodyさん
03/08/11 13:56ID:???http://pc2.2ch.net/test/read.cgi?bbs=php&key=1059043704
http://pc2.2ch.net/test/read.cgi/php/1059043704/
0861nobodyさん
03/08/11 14:06ID:???0862nobodyさん
03/08/11 14:08ID:???あ、なるほど本来(?)なら
bbs=php&key=1059043704
と引数を渡すところを、
PATH_INFOってのを使って、
/php/1059043704/
こういう形で引数を渡すように設定できる
そういうことですね。勉強になりました。
0864nobodyさん
03/08/11 18:26ID:???改行だけなら1〜2バイトだし。
行数よりもファイルサイズが重要でないかい?
0865nobodyさん
03/08/11 18:41ID:???0866nobodyさん
03/08/11 19:59ID:???0867nobodyさん
03/08/11 20:01ID:???0868863
03/08/11 20:02ID:???サイズは623KBだ。
サクサク。
>>854
はマシンのスペックがよっぽどしょぼいか、
しょっぱいスクリプトの書き方してるんじゃないかな。
0869nobodyさん
03/08/11 20:04ID:???ってことは、10000行の改行だけのスクリプトってことだな
0870nobodyさん
03/08/11 20:04ID:???KBとBの単位をまちごた。
0871nobodyさん
03/08/11 21:26ID:???で素朴な疑問ですがやはりEUCでないとどこかで不都合起きたりしますか?
今のところ何も起きてないけど気になって。
0872nobodyさん
03/08/11 21:34ID:???さらに
perl5.8を使って、
use Encode;
でさらに幸せになれます。
0873nobodyさん
03/08/12 04:00ID:???パソコンの環境によっては500行以下にしなさいってことだ。
0874あぼーん
NGNG0875あぼーん
NGNG0876あぼーん
NGNG0877あぼーん
NGNG0878あぼーん
NGNG0879あぼーん
NGNG0880あぼーん
NGNG0881あぼーん
NGNG0882あぼーん
NGNG0883あぼーん
NGNG0884nobodyさん
03/08/12 04:50ID:???または博物館行きのスペックのマシンでも使ってんのか?
0885nobodyさん
03/08/12 04:53ID:???0887nobodyさん
03/08/12 05:17ID:???つか、おめぇAA貼ってる馬鹿だろ。みんな放置汁
0889nobodyさん
03/08/12 05:27ID:???50行でうごかねーって騒いでるのは
わざと重くしてるのか?
0890nobodyさん
03/08/12 10:40ID:???しーぱん?しーぴーえーえぬ?
0891nobodyさん
03/08/12 10:50ID:???0892nobodyさん
03/08/12 10:55ID:???0893nobodyさん
03/08/12 11:00ID:???0895あぼーん
NGNG0896あぼーん
NGNG0897あぼーん
NGNG0898あぼーん
NGNG0899あぼーん
NGNG0900あぼーん
NGNG0901あぼーん
NGNG0902あぼーん
NGNG0903nobodyさん
03/08/12 11:55ID:???0904nobodyさん
03/08/12 12:02ID:???0906nobodyさん
03/08/12 14:43ID:???それ用の簡単なプログラムを書いてみたんだが500InternalServerErrorになる。ソースをうpするのでご教授願いたい。
ttp://amici.dip.jp/~takuho/cgi/hakoniwa_sakujo.txt
KENTWEB配布の文法チェッカーでは異常なしらしいんだが…。
0907906
03/08/12 14:44ID:???正しくは、
ttp://nd22.abz.jp/cgi/hakoniwa_sakujo.txt
0911nobodyさん
03/08/12 15:09ID:Ehp7RR1Qあと、>>908の言うとおりにスクリプトを変更して走らせたら、なんかDLしますか?みたいなウィンドウが出てきたので、txt/plainをtxt/htmlにしてみたら一応走った。
$sakujp1から$sakujp9までを表示させてみたら全部0 (´Д`;)マジカヨ
0912nobodyさん
03/08/12 15:13ID:???0915nobodyさん
03/08/12 15:22ID:???空じゃないといけないのかw
スクリプト書き直します
>>914
ああ、こりゃまた失敬。
ちゃんとtextって書いてますよ。
0916nobodyさん
03/08/12 16:29ID:dyQ6VIzM各ページで内容を統一したいのですが、以下の方法では
エラーとなってしまいました。
どなたかご教授お願いします。
# main.cgi
require "inc.pl";
・・・・
# inc.pl
my $title = "welcome";
・・・・
よろしくです。
0917nobodyさん
03/08/12 16:29ID:???0918nobodyさん
03/08/12 16:44ID:RiEGcXgNa => "hage",
b => {
c => "$hage{a} /hage",
},
);
こんな感じで$hage{b}{c}で、$hage{a}を使いたいけど、
出来ませんよね?何かいい方法有りませんか?
0919nobodyさん
03/08/12 16:47ID:???なんでつけてんの
0922nobodyさん
03/08/12 16:56ID:???my $zura = "hage";
my %hage = (
a => $zura,
b => {
c => "$zura /hage",
},
);
0923916
03/08/12 17:07ID:???根本的に間違えていました。
まず、パッケージ宣言をしていませんでした。
あと、>>920さんのいうとおり、パッケージとして読み込む
内容に対してmyにしていました。
0924918
03/08/12 17:10ID:???実はあんまいみ分かって使ってないかも(汗
サブルーチンの中でその間数内でしか使わない変数は、
myを付けるようにしてる。あと、use strict;してると、
my付けなきゃ怒られるから、、、
>>921-922
一つにまとめた方がすっきりしていいかなーって思いましてね。
やっぱ無理ですかね?
0927923
03/08/12 19:10ID:dyQ6VIzMrequireで呼び出す定数の記載されたplファイルが、
ブラウザから丸見えになってしまいます・・・
(見られたくない内容が記載されています)
属性を600にしたら動かないようですし。
ブラウザから参照できないファイルにできないものですか?
よろしくお願いします。
0928nobodyさん
03/08/12 19:18ID:???0929923
03/08/12 19:23ID:dyQ6VIzMちなみに拡張子をcgiにしてみると実現できました。
0931nobodyさん
03/08/12 19:42ID:???0934nobodyさん
03/08/12 20:31ID:???それはいいね。
運用情報をちょっと見てきたけど、コピペや広告がビシバシと
アク禁になっててワラタ。
今後も続いたらそっちに回そう。
0935nobodyさん
03/08/12 20:50ID:y42wbWjQmy $mail = join(/ /, @{$ref_mail});
とかくと、成功したり失敗したりします。
エラーが出た場合のエラー内容は下記のとおりです。
Can't use an undefined value as --.cgi reference
これについて調べてみたのですが、どうも理解が
できません。
定義するとエラーが出てしまいますし、初心者の私に
どうか教えていただければ幸いです。
0936nobodyさん
03/08/12 20:57ID:???男は「(都の人のする)糞スレというものをひとつ立ててみよう」と思った。
男の女房が「(天さかる鄙にすむわたしのような教養のない女でもわかるが)都の人はそんなことをしない(と思う)」
と諌めたが、男はきかない。
「(釈迦入滅以来うだつのあがらない自分という男にほとほと愛想が尽きたが)
ここで糞スレを立てれば(都の人のように)頓知がきいていると世の賞賛を受けるだろう」
と糞スレをたてた。
はたして翌日、>2以降、罵倒の嵐だった。
>1も無駄なことをするものだなあと(何故か判らぬが突然出てくる)横川の僧都(そうず)は嘆いた
0939nobodyさん
03/08/12 22:35ID:???sub htmlspecialchars{
#PHPの同名関数と同じ動きをします。
my ($letter) = $_[0];
$letter =~ s/&/&/g;
$letter =~ s/"/"/g;
$letter =~ s/'/?/g;
$letter =~ s/</</g;
$letter =~ s/>/>/g;
return $letter;
}
foreach $key (keys %in){
&jcode::convert(\$in{$key}, "sjis");
print qq|<input type="hidden" name="$key" value="|. &htmlspecialchars(\$in{$key}) .qq|">\n|;
}
<input type="hidden" name="country" value="SCALAR(0x827cdbc)">
<input type="hidden" name="gender" value="SCALAR(0x827cd2c)">
となってしまうのですが、どこがいけないのでしょうか・・・?
0940nobodyさん
03/08/12 22:43ID:???乙。
あぼーん<>あぼーん<>あぼーん<>あぼーん<>あぼーん<>
を追加加工は出来なかったのね(w
>>939
リファレンスで渡してるやん。。。
0941nobodyさん
03/08/12 23:00ID:???# CGIヘッダの出力
print "Content-type: text/html\n\n";
while($HP1 > 0) and ($HP2 > 0){
srand1;
srand2;
}
# Player1
$HP1 = 400 - $kougeki1;
$KIK1 = 60;
$PAN1 = 20;
$DF1 = 10;
# Player2
$HP2 = 300 - $kougeki2;
$KIK2 = 100;
$PAN2 = 40;
$DF2 = 0;
# Player1
$kougeki1 = sentaku;
$kougeki1 = $KIK2 = 100;
$PAN2 = 40;
# Player2
$kougeki2 = $KIK2 = 100;
$PAN2 = 40;
$DF2 = 0;
0942nobodyさん
03/08/12 23:00ID:???if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN1'} - $defense->{'$DF2'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK1'} - $defense->{'$DF2'};
}
0943nobodyさん
03/08/12 23:07ID:???if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN2'} - $defense->{'$DF1'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK2'} - $defense->{'$DF1'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP1'} -= $damage;
0944nobodyさん
03/08/12 23:08ID:???$defense->{'HP2'} -= $damage;
# HTMLの出力
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>対戦バトル</title></head>\n";
print "<body>
<p>Player1:体力は$HP1です</p>
<p>Player2:体力は$HP2です</p>
<p>Player1は<big>$kougeki1</big>のダメージを与えた。</p>
<p>Player1は<big>$kik1</big>のダメージを受けて混乱した。
<p>mona-は<big>$panti1</big>のダメージで野原でクソをし始めた。
<p>Player2は<big>>$kougeki2</big>のダメージを与えた。</p>
<p>Player2は<big>>$kik2</big>のダメージを受けて裸踊りを始めた。
<p>Player2は<big>>$pantti2</big>のダメージで光浦なみの女にレイプし始めた。</p></p></body>\n";
print "</html>";
0945nobodyさん
03/08/12 23:09ID:???それはその下のファイルを使うな、という意味です。
そのファイルは使えないので、そのファイルを全部削除して、
1から書き直すことをすすめます。
0946nobodyさん
03/08/12 23:46ID:???while (@test){
print\n;
}
とかやってみたのですがPCごと固まってしまいました…。
あとハッシュの中身を例えば
キー:値
のような形のリストとして出力するような方法も知りたいです。
#キーは不定
0948nobodyさん
03/08/13 00:11ID:0XDiwwzHprint $key." = ".$key{$key}."\n";
}
0949nobodyさん
03/08/13 00:20ID:???間違ってるぞ。
foreach $key(keys %HASH){
print "$key=$HASH{$key}\n";
}
0950nobodyさん
03/08/13 00:23ID:???print "$k:$v", "\n";
}
0952nobodyさん
03/08/13 00:25ID:???あるいは
while ( @test ) {
pop shift @test."\n";
}
>>946
あるいは
while ( ($key, $val) = each %HASH ) {
print $key." = ".$val."\n";
}
0954nobodyさん
03/08/13 00:26ID:0XDiwwzHまちがってた。
thxでごんす。
0955946
03/08/13 00:28ID:???whileとforeachの違いがイマイチわかりづらいですが
ラクダ本でも見てゆっくり勉強する事にします。
ハッシュの方はKeys関数のところみたら見事に載ってました。
わざわざすみませんでした…。
0956952
03/08/13 00:29ID:???>>945
あるいは
while ( @test ) {
print shift @test;
print "\n";
}
0958nobodyさん
03/08/13 10:45ID:???while (<>) {
print $_ . "\n";
}
のつもりで書いたのか。それならば。
while (shift @test) {
print $_ . "\n";
}
0960nobodyさん
03/08/13 16:15ID:???KENTさんのWeb Patioを使っています。
regist.cgiにおいて、
「初心者」という文字列を含む名前をエラーではじきたいのですが、
どうすればいいでしょうか?
一応、「初心者」であればエラーを返すようにしています。
if ($i_nam eq "初心者") { &error("任意の名前でお願いします"); }
この場合だと「PC初心者」をはじくことができません。
正規表現を使わなければいけないというのはわかっているのですが、
if ($i_nam =~ /初心者/)
ではダメなんでしょうか?
よろしくお願いします。
0962nobodyさん
03/08/13 16:38ID:???この場合、正規表現は使わない方が低コスト。
全部EUC-JPかUTF-8で扱っているとして
if (index($i_nam, '初心者') >= 0) {
&error("任意の名前でお願いします");
}
0963nobodyさん
03/08/13 16:40ID:???親からも子からも見える変数というのは、そのままでは実現できないのでしょうか?
小難しいのでビデオ予約に例えますが、
>親はユーザとsocketで通信をして、予約リストの追加削除修正を行い、
>子は時計を監視しつつ、時間になったら録画をスタートさせる
この"予約リスト"を親子で共有したいのです。
0964nobodyさん
03/08/13 16:43ID:VxpLVgAp初心者ははじくことができません。
そんな初歩的な質問は板違いです。どこか行ってください。邪魔です。
WEB板にいって、二度と来ないでください。
0965nobodyさん
03/08/13 16:45ID:???できません。共有はできません。どちらかあきらめてください。
あなたも欲ばりですね。
そんな初歩的な質問、こんなところでしないでください。どこか行ってください。
0966nobodyさん
03/08/13 16:46ID:???# CGIヘッダの出力
print "Content-type: text/html\n\n";
while($HP1 > 0) and ($HP2 > 0){
srand1;
srand2;
}
# Player1
$HP1 = 400 - $kougeki1;
$KIK1 = 60;
$PAN1 = 20;
$DF1 = 10;
# Player2
$HP2 = 300 - $kougeki2;
$KIK2 = 100;
$PAN2 = 40;
$DF2 = 0;
# Player1
$kougeki1 = srand;
# Player2
$kougeki2 = srand2;
0967nobodyさん
03/08/13 16:46ID:???if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN1'} - $defense->{'$DF2'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK1'} - $defense->{'$DF2'};
}
0968nobodyさん
03/08/13 16:46ID:???if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN2'} - $defense->{'$DF1'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK2'} - $defense->{'$DF1'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP1'} -= $damage;
($damage < 0) and ($damage = 0);
$defense->{'HP2'} -= $damage;
0970nobodyさん
03/08/13 16:47ID:???print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>対戦バトル</title></head>\n";
print "<body>
<p>Player1:体力は$HP1です</p>
<p>Player2:体力は$HP2です</p>
<p>Player1は<big>$kougeki1</big>のダメージを与えた。</p>
<p>Player1は<big>$kougeki1</big>のダメージを受けて混乱した。
<p>Player1は<big>$kougeki1</big>のダメージで野原でクソをし始めた。
<p>Player2は<big>>$kougeki2</big>のダメージを与えた。</p>
<p>Player2は<big>>$kougeki2</big>のダメージを受けて裸踊りを始めた。
<p>Player2は<big>>$kougeki2</big>のダメージで道を歩いていた女にレイプし始めた。</p></p></body>\n";
print "</html>";
0971nobodyさん
03/08/13 16:48ID:???< >
< 動カンカッタ>>720-736ーーーーーーーーー!! >
< >
∨∨∨∨∨∨∨∨∨∨∨\ /∨∨∨∨∨∨∨∨∨∨∨
/:|. | | /:|
/ .:::| ∨ / :::|
| ...:::::| / ::::|
i  ̄ ̄⌒゙゙^――/ ::::::::|
/_,,___ . _,,,,__,_ :::::::::::\
/ ゙^\ヽ.. , /゙ ¨\,.-z ::::::::::\
「 ● | 》 l| ● ゙》 ミ.. .::::::\
/i,. .,ノ .l| 《 ..|´_ilト ::::::::::\
/ \___,,,,,_/ .'″ ^=u,,,,_ v/.. :::::::::::::l!
|  ̄ ,,、 i し./::::::::.}
| / ,,____ _,/ ̄ \ \ ノ ( ::::::::::|
| |.. | /└└└└\../\ \ '~ヽ ::::::::::::::}
| .∨.|llllllllllllllllllllllllllllllllllllllll| ::::::::::{
| |.|llllllllllll;/⌒/⌒ 〕 :::::::::::}
| |.|lllllllll; ./ . . | ::::::::::[
.| |.|llllll|′ / . | .| :::::::::::|
.| |.|llll| | .∧〔 / :::::::::::::/
/ }.∧lll | ../ / / :::::::::::::::::\
/ /| \┌┌┌┌┌/./ /::: :::::::::::::::::\
( ゙゙^^¨^¨゙゙¨  ̄ ̄ ̄ /:::::::::::
0972nobodyさん
03/08/13 16:48ID:p0VVcbYX大きなオチンチンを喉の奥までくわえ込んでのフェラは大人顔負けですぞ。
挿入シーンは少ないながらも小さなオマンコにしっかり挿入されているシーンが勃起モノ!
若い娘はいいですな。
無料ムービーはこちら!
http://www.cappuchinko.com/
0973960
03/08/13 16:50ID:???解決しました。
0974nobodyさん
03/08/13 16:55ID:???0975nobodyさん
03/08/13 17:32ID:???なるべく一度に依頼してくれませぬか?
かちゅだとあぼーんするたびにスレ再取得しなくちゃならないから大変なのよ
0977nobodyさん
03/08/13 18:47ID:???名前付きパイプ(ネームドパイプ)
http://www.kt.rim.or.jp/~kbk/perl5.doc/perlipc.html#Named_Pipes
クックブックレシピ16.11
か、
sysV IPC
http://www.kt.rim.or.jp/~kbk/perl5.doc/perlipc.html#SysV_IPC
クックブックレシピ16.12
(使ったことないので、どんなものか知らなかったり。使った感想きぼん。)
リアルタイムでなければファイルに一票。
0978nobodyさん
03/08/13 19:41ID:???0981nobodyさん
03/08/13 19:59ID:???0982nobodyさん
03/08/13 20:12ID:???つーか、かちゅなら改造して
再取得しても「あぼ〜ん」を保持するようにしたらいいじゃん?
0983nobodyさん
03/08/14 02:32ID:???# CGIヘッダの出力
print "Content-type: text/html\n\n";
while($HP1 > 0) and ($HP2 > 0){
srand1;
srand2;
}
# Player1
$HP1 = 400 - $kougeki1;
$KIK1 = 60;
$PAN1 = 20;
$DF1 = 10;
# Player2
$HP2 = 300 - $kougeki2;
$KIK2 = 100;
$PAN2 = 40;
$DF2 = 0;
# Player1
$kougeki1 = srand;
# Player2
$kougeki2 = srand2;
0984nobodyさん
03/08/14 02:32ID:???if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN1'} - $defense->{'$DF2'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK1'} - $defense->{'$DF2'};
}
0985nobodyさん
03/08/14 02:32ID:???if($mode == 1){
$offense = \%you;
$defense = \%my;
}elsif($mode == 2){
$offense = \%my;
$defense = \%you;
}
if( int(rand(2)) ){
#punch
$damage =
$offense->{'$PAN2'} - $defense->{'$DF1'};
if(!$rand = int(rand(5))){
#half
$damage = int($damage / 999);
}elsif($rand < 3){
#miss
$damage = "";
}
}else{
#kick
$damage =
$offense->{'$KIK2'} - $defense->{'$DF1'};
}
($damage < 0) and ($damage = 0);
$defense->{'HP1'} -= $damage;
($damage < 0) and ($damage = 0);
$defense->{'HP2'} -= $damage;
0986nobodyさん
03/08/14 02:33ID:???print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n";
print "<html>\n";
print "<head><title>対戦バトル</title></head>\n";
print "<body>
<p>Player1:体力は$HP1です</p>
<p>Player2:体力は$HP2です</p>
<p>Player1は<big>$kougeki1</big>のダメージを与えた。</p>
<p>Player1は<big>$kougeki1</big>のダメージを受けて混乱した。
<p>Player1は<big>$kougeki1</big>のダメージで友達のトイレではみ出したクソをし始めた。
<p>Player2は<big>>$kougeki2</big>のダメージを与えた。</p>
<p>Player2は<big>>$kougeki2</big>のダメージを受けて裸踊りを始めた。
<p>Player2は<big>>$kougeki2</big>のダメージで友達の女にレイプし始めた。</p></p></body>\n";
print "</html>";
0987nobodyさん
03/08/14 02:35ID:???\
 ̄∨ ̄ ̄ ̄ ̄ ̄
∧_∧
( ´Д`)
/, /
(ぃ9 |
/ /、
/ ∧_二つ
/ /
/ \
/ /~\ \
/ / > )
/ ノ / /
/ / . / ./.
/ ./ ( ヽ、
( _) \__つ
0988nobodyさん
03/08/14 02:37ID:???(´・ω・`)o(´・ω・`)o(´・ω・`)o(´・ω・`)o(´・ω・`)o(´・ω・`)
○(´・ω・`)○(´・ω・`)○(´・ω・`)○(´・ω・`)○(´・ω・`)○
。(´・ω・`) 。(´・ω・`) 。(´・ω・`) 。(´・ω・`) 。
(´・ω・`)o(´・ω・`)o(´・ω・`)o(´・ω・`)o(´・ω・`)
PHPって携帯会社の名前じゃないのか!?(´・ω・`)o(´・ω・`)o(´・ω・`)o
○ o(´・ω・`)o(´・ω・`)○ o ○
(´・ω・`)○(´・ω・`)
○ 。 o o ○。
/::. ソ . :;;ヽ
/::. ..:::;;;ヽ
/::. ..::;;;;ヽ
/::. ..::::;;;;i
(::. ..::;;;丿
>::...___..::::;;;イ
!ヾ. ̄⌒__ ̄彡|
iミ:::ミC= ≡..::: )
|::: 丶ヽ ..:ヽ )
|::: (' ( ::;;;|
|::: | ミ ヽ\|
|::: 丶ヽ ..:ヽ )
( \ l. | ..:;;;;;;|
|::\∨丿 ″..:;;;;;|
|::: ( ( ゙ ..:;;;;;|
|::: ( ( ゙ ..:;;;;;|
.彡.|::: i l :::;;;;;|ゞ巛ミ
巛从ミ彡ミ彡从巛彡ミ彡ミ彡》》
巛巛ミ人ミ彡巛彡从ミ巛ミ人ミ》》》》
巛彡巛彡从ミ》彡彡巛ミ人ミ彡ミ从》》
0989nobodyさん
03/08/14 02:42ID:???ーーーーーーーーーーーーーー終了ーーーーーーーーーーーーー
1、荒らしが住みついている
2、めちゃくちゃ荒れるのはわかっている
3、いるやつが無脳で役立たずが多い
4、存在価値なし!!
5、チンコ!!
以上をもって、全て終了とさせてもらいました。
0990nobodyさん
03/08/14 03:05ID:???0991nobodyさん
03/08/14 03:14ID:???0992nobodyさん
03/08/14 05:36ID:???0993nobodyさん
03/08/14 05:46ID:???0994nobodyさん
03/08/14 05:46ID:???0995nobodyさん
03/08/14 05:47ID:???0996nobodyさん
03/08/14 05:47ID:???0997nobodyさん
03/08/14 05:47ID:???0998nobodyさん
03/08/14 05:47ID:???ttttttttt
0999nobodyさん
03/08/14 05:48ID:???s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
1000nobodyさん
03/08/14 05:48ID:GvyHuosaWWWWWWWW
w
fga545fg45a1g354
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。