- 1 名前:nobodyさん mailto:sage [2006/09/10(日) 13:33:48 ID:???]
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 Perl使いが優しくコメントを返しますが、 お礼はPerlの布教と初心者の救済をお願いします。
- 6 名前:nobodyさん [2006/09/14(木) 19:58:38 ID:xO9EEAPT]
- javaアブレットとperl/CGIを組み合わせて、通信対戦オセロを作りました。
自分のパソコン上でwebサーバーソフトを動かして、通信実験にも成功して います。あとは、実際にレンタルサーバーを借りて、ネット上にアップするだ けです。 ただ、CGIを介してデータをやり取りするので、データ更新が行われるのを 確認するため、定期的にwebサーバーに接続しなければなりません。これっ て、やっぱり、結構サーバーに負荷をかけることでしょうか? ロビーCGIは200行にも満たないプログラムで、参加者リストの管理と、 クライアント同士のゲームデータ(オセロですから、お互いに置いた石の位置 情報)のやり取りだけで、判定やルールなどゲーム本体のプログラムは全部ク ライアントで処理します。CGIに接続するタイミングはロビーでは10秒お き、ゲーム中は1〜2秒おきを予定してます。 cgiが置ける格安か無料サーバーに置いて、通信対戦ゲームを実現したいで すが、このシステムでは、サーバーの負荷で設置は難しいでしょうか? 本当に、超初心者のくだすれですみませんが、どうか教えてください。
- 7 名前:nobodyさん mailto:sage [2006/09/15(金) 02:27:16 ID:???]
- 自分のパソコンのタスクマネージャでCPU利用率見てみればええんちゃう?
1秒おきに取りに行くとして一人ぶんのリクエストが86400リクエスト/日 全体で*平均対戦者数。 通常のhtmlで、たとえば1ページに画像やスクリプトが20個くらい張り付い てると1ページで20リクエスト。4320ページ/日でリクエスト数は同じ。 そういうことだ。
- 8 名前:nobodyさん [2006/09/15(金) 23:00:37 ID:CWad1meV]
- 返答ありがとうございます。
たた、タスクマネージャーを見ても、どこをどう見ればいいのかよく分かりま せん。本当に超初心者で、よくわかんないのです。 リクエスト数の多さから、やっぱり設置は難しいのでしょうか。サーバー側 ではほとんど計算せず、小さなデータをやり取りしているだけなんですが・・・。 せっかく作ったので、何とかして設置したいです。 一般的なCGIゲームのリロードの間隔ってどれぐらいでしょうか?
- 9 名前:nobodyさん [2006/09/15(金) 23:46:30 ID:colQZo5x]
- mixiの足あと機能による個人情報トラッキングの対処はミクシィにどのような修正を加えて実現したんでしょうか?
- 10 名前:nobodyさん [2006/09/18(月) 22:10:17 ID:fB7/mMBT]
- >>9
お願いします
- 11 名前:nobodyさん [2006/09/23(土) 23:15:26 ID:ItJcA2cD]
- 当方「すぐわかるPerl」という入門書で、Perlを勉強中のプログラム初心者です
【すぐわかるPerlのP.182】 sort{$a cmp $b} 対象の配列 sort{$b cmp $a} 対象の配列 sort{$a <=> $b} 対象の配列 sort{$b <=> $a} 対象の配列 {}の中には、ソートした結果が前に並ぶデータ$aと後ろに並ぶデータ$bが等しければ0、$aが大きければ-1、$bが大きければ1という3つの値を返す演算を入れます と、言う部分なのですが、 値が等しければとか、大きければってどういう事なんですか? $aや$bにはどんな(何の)値が入るのですか? そもそも、値が大きい順に並ぶとか小さい順に並ぶとか それらの値というのが、ソートされる側のファイルや配列の中に入っているレコードであるとして、 $aと$bで、昇順か降順かを判断するのなら、$aの値が$bの値よりも大きい場合、なんてありえないはずですよね?
- 12 名前:nobodyさん mailto:sage [2006/09/24(日) 00:29:10 ID:???]
- @hoge = ('A', 'B', 'C', 'AB', 'BC', 'CD');
@foo = sort { $a cmp $b } @hoge; foreach (@foo) { print $_, "\n"; }
- 13 名前:nobodyさん mailto:sage [2006/09/24(日) 12:43:53 ID:???]
- >>11
「ソート」の意味わかる?
- 14 名前:nobodyさん [2006/09/24(日) 17:12:23 ID:tF4Ji0QV]
- perl を利用して、Linuxユーザのパスワードを変更するプログラムに挑戦しております。
パスワード変更に使用するpasswdコマンドは対話型ですが、 スクリプトで実行するにはどのように書けば良いでしょうか? 以下を組みあわせて作りたいのですが。 $crypt_password system("passwd $username"); よろしくお願いします。
- 15 名前:14 mailto:sage [2006/09/24(日) 18:24:23 ID:???]
- 下記サイトを参考に作ってみたスクリプトがあります。
ttp://search.luky.org/fol.2001/msg00436.html $crypt_pass = crypt($password,"AB"); $chgpw_cmd = <<"EOF"; sudo /usr/bin/passwd $username $crypt_pass $crypt_pass EOF system("$chgpw_cmd"); 結果、以下のエラーが表示されます Error message: malformed header from script. Bad header=Changing password for user $username Error 500 どのように書き換えれば動くのでしょうか。 よろしくお願いします。
- 16 名前:nobodyさん mailto:sage [2006/09/25(月) 00:15:33 ID:???]
- まずhttpのヘッダを出力するよろし
- 17 名前:11 [2006/09/25(月) 17:41:25 ID:V/IIhk9y]
- >>12
? >>13 わかりますよ。 ファイル内のレコードを、文字列や数値の大きい順、または小さい順に並べ替える事ですよね
- 18 名前:nobodyさん mailto:sage [2006/09/26(火) 06:02:57 ID:???]
- >>17
そもそも「ファイル内のレコード」とか造語使って話されてもな。 $a <=> $bが数値の昇順、$b <=> $aが数値の逆順 sort{$a cmp $b} 対象の配列 は sort 対象の配列 と同じで文字列の昇順 {$b cmp $a} が文字列の逆順 これを理解してるのか? って聞かれてる ソートの語意を知ってるか聞いてるわけじゃない。
- 19 名前:11 [2006/09/26(火) 18:56:12 ID:QXj/N9Vs]
- >>18
それは理解してますよ。 「レコード」というのは、ファイル内の改行までの1段落を「レコード」と呼ぶそうです。 本にそう書いてあったので。 {$b cmp $a}にしても、値の大きさで言うなら$b>$aですよね だから、昇順にソートしたければ$aを左辺に 降順にしたければ$bを左辺にするわけで なのに、入門書の説明では 『{}の中には、ソートした結果が前に並ぶデータ$aと後ろに並ぶデータ$bが等しければ0、$aが大きければ-1、$bが大きければ1という3つの値を返す演算を入れます』 と $a<$bであるのだから、『$aが大きければ』なんて状況自体がそもそもありえないのではないでしょうか? そこら辺で、自分はこの入門書の説明が理解できずに行き詰ってますm(_ _)m
- 20 名前:nobodyさん mailto:sage [2006/09/26(火) 22:45:11 ID:???]
- これやってみろ。
my @sorted = sort { print $a . "\t" . $b . "\n" ; $a <=> $b } qw( 5 10 3 5 4 2 1 ) ; 少くとも $a < $b なんて確定ではないことは明白。 ttp://www.ics.kagoshima-u.ac.jp/~fuchida/edu/algorithm/sort-algorithm/merge-sort.html ここ読め。perl 5.8 以降の sort のアルゴリズムだ。
- 21 名前:nobodyさん [2006/09/26(火) 23:48:31 ID:8QEjX/wi]
- 掲示板のパスワードを忘れたので、教えて欲しいとのメールを貰いました。
直接ログファイルを見たのですがencryptで暗号化されています。 これって復元はできないので、教えることは出来ないのでしょうか?
- 22 名前:nobodyさん mailto:sage [2006/09/27(水) 00:40:05 ID:???]
- 暗号化されたものを教えられてもパスワードの複合化はできまいが、
ログファイルを直接書き換える事で任意のパスワードに変更する事はできる。 試しに適当なパスワードを付けたダミー投稿をやってみて暗号化後の文字列を確認し、 ログファイルの該当部分を書き換えてうp→新しいパスワードを通知でどうかな。
- 23 名前:21 mailto:sage [2006/09/29(金) 22:57:36 ID:???]
- >>22
どうもありがとう!
- 24 名前:nobodyさん [2006/10/12(木) 00:21:32 ID:Gn08F8cO]
- 配列変数に「\n」を入れて標準出力使用としています。
たとえは、 $data[0]="\n"; $data[1]="\n"; $data[2]="ななしさん\n"; $data[3]="\n"; $data[4]="としあき\n"; として print @data; としたら、クライアント側では ななしさん としあき と、受け取るようにしたいです。 で、自分のwindowsのパソコンでサーバーソフトのapacheを立ち上げて、ローカルで試した時はうまく行きますが、レンタルサーバ上では、"\n"は改行せず、初めから無いことになって、 ななしさんとしあき となってしまいます。 perlを始めて3ヶ月で、いろいろ検索したのですか、よく分かりません。 どうか、改行する方法を教えてください。
- 25 名前:nobodyさん mailto:sage [2006/10/12(木) 00:42:24 ID:???]
- <br>
- 26 名前:24 [2006/10/12(木) 07:47:06 ID:ECd/ht+A]
- >>25
早速の返答ありがとうございます。 もう少し詳しく書かなければいけなかったのですが、cgi送られたデータはプラウザで受け取るのではなくて、HSPで作ったクライアントソフトで受け取ります。 このように、改行を含め、横一列づつに区切られた文字列型のデータはHSPのクライアント側で「ノートパッド命令」というのを使ってデータを加工したいのです。 プラウザじゃないですから、<BR>では改行できませんし、またデータが繋がったままだと、ノートパッド命令が使えず、データは加工できないのです。 自分のパソコンでサーバーソフトを立ち上げ、ローカルで試した時はうまくいくのに、レンタルサーバにあげたとたんうまく行きません。 この違いは、osのせいなのか、ネット上にあげたせいなのか、よく分かりません。 わかる人がいましたら、どうか教えてください。
- 27 名前:nobodyさん mailto:sage [2006/10/12(木) 13:40:15 ID:???]
- >>26
改行コードはOS依存 HSPはWindowsアプリだから、改行コードがWindows固定なんじゃないかね? Windowsは\x0d\x0aでUnix系は\x0aなので、\x0dを付け足してみたら?
- 28 名前:nobodyさん mailto:sage [2006/10/12(木) 13:41:02 ID:???]
- 書き忘れ
レンタルサーバーがWindowsじゃなければ、の話。
- 29 名前:nobodyさん [2006/10/12(木) 22:06:48 ID:bEOo1KBw]
- CGI_Liteというのを使いたいので
CPANってゆーの入れてみたんですけど その後どうするのでしょうか?
- 30 名前:24 [2006/10/12(木) 22:59:42 ID:D35FP/7g]
- >>27
返答ありがとうございます。 まだ試してはいませんが、原因は多分これです。 レンタルサーバのOSはUnixですし、自分のwindowsパソコンで、ローカルで試した時はちゃんと動作しましたし・・・。 早速perlを書き直します。 本当にありがとうございます。
- 31 名前:nobodyさん mailto:sage [2006/10/12(木) 23:36:42 ID:???]
- >>29
モジュールがどういったものか理解してるのかな? とりあえず、そのキーワードでググって一通り目を通してきてください。
- 32 名前:29 [2006/10/14(土) 16:27:10 ID:5AFK7g0o]
- >31さん
ううう だいたい理解しているつもりなのですが、、、 CGI_Liteを使っている所では下記のようにでるのですが これってうまくCGI_liteがインストールされていないということでしょうか? [hoge@localhost member]# perl detail.cgi Can't locate hogehogeLib.pl in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi (略)/usr/lib/perl5/5.8.6 .) at detail.cgi line 2. ご助力いただけますとありがたいです。
- 33 名前:nobodyさん mailto:sage [2006/10/14(土) 16:33:46 ID:???]
- CGI::Liteを使え
- 34 名前:24 [2006/10/15(日) 00:08:41 ID:YK613lYV]
- おかげさまで改行コードの件は解決しましたが、また別のことで質問させてく
ださい。 自宅のwindowsパソコンでサーバソフトを動かし、ローカルで接続している時 は、環境変数HTTP_User_Agentを受け取ってくれますが、unixのレンタル サーバー上では、HTTP_User_Agentを受け取ってくれません。 改行コードのようにOSで違いがあるのかもしれませんが、HSPクライアント のHTTPヘッダーの記述がただしいから、サーバーに接続できるし、CGIにデー タをちゃんと送れていると思います。 HTTP_User_Agent以外の環境変数、REMOTE_ADDRやREMOTE_HOSTはちゃんと受け 取っています。もちろん、POSTで送信したデータは、CONTENT_LENGTHに入って います。 なぜかHTTP_User_Agentだけ、ネット上においてあるunixのレンタルサーバーに 情報が入ってきません。 もし原因が分かる方がおりましたら、どうか教えてください。
- 35 名前:nobodyさん mailto:sage [2006/10/15(日) 00:17:49 ID:???]
- 変なセキュリティソフトでも入れてるんじゃないの?
- 36 名前:24 [2006/10/15(日) 10:44:12 ID:sPLkCqaF]
- すみません、自力で解決しました。
windowsでは、使っているクライアントやプラウザを知る環境変数は 「HTTP_User_Agent」でも動きますが、unixでは「HTTP_USER_AGENT」と ちゃんと書かないとダメみたいです。 大文字と小文字だけで、大きな違いです。 >>35さん書き込みありがとうございます。 本当に大変お騒がせしました。
- 37 名前:nobodyさん [2006/10/16(月) 16:10:49 ID:1+lDbjJH]
- @niftyのCGIは、Perlの標準ライブラリ使用禁止なんだな〜。つまらない。
- 38 名前:nobodyさん mailto:sage [2006/10/26(木) 07:54:58 ID:??? BE:108125928-BRZ(1033)]
- Perlで2chに書き込みたいんですが、クッキーだとかなんだとか意味がわかりません
dat取得するまではなんとかわかるのですが……、参考になるサイトなどはありませんか?
- 39 名前:nobodyさん mailto:sage [2006/10/26(木) 08:21:44 ID:???]
- 荒らしツールでつか?
- 40 名前:nobodyさん mailto:sage [2006/10/26(木) 09:05:17 ID:??? BE:162187283-BRZ(1033)]
- 昔2chでIDバトルというスレを見つけたのを思い出して真似してみようかなと思っています。
- 41 名前:nobodyさん mailto:sage [2006/10/26(木) 10:32:06 ID:???]
- つまりIDをとるだけのためにいちいち書き込むと?
- 42 名前:nobodyさん mailto:sage [2006/10/26(木) 11:11:39 ID:??? BE:94610227-BRZ(1033)]
- ID取得はdatから抽出することでできたんですが、スレに結果を出力できません……。
ローカルで結果を何回も出力させていっても自分がパンクしそうなので自動化しようと思った次第です
- 43 名前:nobodyさん mailto:sage [2006/10/26(木) 16:14:52 ID:???]
- あー、そういう事か。理解した。
基本的に2chは容易に荒らしツールに転用でき得る外部からの書き込みには厳しいし それがperlスクリプトと来てはなおさらだろう。 rep2みたいに何とかやってのけた例はあるけど(まああれはPHPだが)あれも FOXに荒らし専用ツールと勘違いされて一時期えらい事になっていたし、 やるならdatから必要なIDをまとめて所得して処理を行い、 後はコピペするのみの形に整形したテキストを出力するスクリプトに留めた方が良いと思うよ。
- 44 名前:nobodyさん mailto:sage [2006/10/26(木) 16:45:14 ID:???]
- Perlの2ch書き込みソフトならスレ保守ツールということでVectorにある。少々古くてhana=mogeraの追加修正が必要だが。
- 45 名前:nobodyさん mailto:sage [2006/10/26(木) 22:03:37 ID:???]
- >コピペするのみの形に整形したテキスト
ここに質問するまではそれをベースに作っていたんですが、楽にできないものかと……。 勘違いされると確かにまずいですよね、保守ツールだったらよく見かけるんですけど……。 >Perlの2ch書き込みソフト ありがとうございます、早速探してみます。
- 46 名前:nobodyさん mailto:sage [2006/10/27(金) 02:03:16 ID:???]
- use LWP::UserAgent;
use HTTP::Cookies; use HTTP::Request::Common; use HTTP::Headers; print 'URI > '; chomp ( $entry = <> ); $entry =~ 'http://([^/]*)/([^/]*)/([^/]*)/([^/]*)/([0-9]*)'; ($uriServer, $uriBbs, $uriKey, $uri) = ($1, $4, $5, "$1/test/bbs.cgi"); print 'MESSAGE > '; chomp ( $msg = <> ); $ua = new LWP::UserAgent; $request = POST ($uri, [ subject => '', FROM => '', hana => 'mogera', submit => '書き込む', mail => 'sage', MESSAGE => $msg, bbs => $uriBbs, key => $uriKey, time => time]); $request -> referer($uri); $request -> user_agent('Monazilla/1.00'); $cookie_jar = HTTP::Cookies -> new( file => 'ume.cook', autosave => 1 ); $cookie_jar -> add_cookie_header($request); $ua -> cookie_jar($cookie_jar); $response = $ua -> request($request);
- 47 名前:nobodyさん mailto:sage [2006/10/29(日) 16:12:26 ID:???]
- 最近,Perlを使ったCGIで特定IPを拒否するルーチン入れてあり,
そのリストにあるIPにも関わらず書き込みをされるのですが,どんな原因が考えられますか? 例えば,自分のIPが200.10.10.10の場合,正規表現で指定して(200.*.*.*)もきちんと自分は拒否されます。 それなのに,いくつかすり抜けてくる迷惑書き込みは,一体どのようにしてるのでしょうか? 当然,直接そのIPを指定しても,効果がありません。(上の場合なら,200.10.10.10) 考えられるのは,@Perlが取得するIPアドレスの関数が偽装される。←可能なんでしょうか?? A違うCGIで直接ログファイルに書き込まれている。 というくらいしか思いつきません。 @はともかく,Aに関しては,プロバイダがHi-HOなので,こちらで細かいパーミッションの指定ができません。(たぶん) 他にも原因や対策がありますか?
- 48 名前:nobodyさん mailto:sage [2006/10/29(日) 20:10:26 ID:???]
- 3、そのルーチンがバグっている。
というか2ならログファイルの名前変えてダミー置いとけば解決じゃないのか。
- 49 名前:nobodyさん mailto:sage [2006/10/30(月) 01:09:22 ID:???]
- リファラーをチェックして
他のサーバからの呼び出しを蹴る様にしたら? 正規表現でやると部分一致ですり抜けたり、リファラー自体が 偽装できるんであくまで簡易的だけどね。 my $myhome = "http://www.vipper/test.cgi"; if( !$ENV{'HTTP_REFERE'} =~ /^$myhome/ ) { #エラー処理 } else { }
- 50 名前:nobodyさん mailto:sage [2006/10/30(月) 03:31:49 ID:???]
- /^\Q$myhome\E/
- 51 名前:nobodyさん mailto:sage [2006/10/30(月) 07:32:12 ID:???]
- >>50
訂正ありがとう。 あとさ、馬鹿なんじゃねーかと。 REFEREって・・・REFERERだよな、ごめん。
- 52 名前:nobodyさん mailto:sage [2006/10/30(月) 21:36:17 ID:???]
- 余談だが、単語の綴りって意味で正確には
referrer なんだけどな。
- 53 名前:47 mailto:sage [2006/10/31(火) 18:03:41 ID:???]
- 色々とアドバイスありがとうございます。
>48 ログファイル名変更が効果あるのは他のCGIで経験済みです。 最終手段だと思ってます。 それよりも,原因や他の技術的な対策などが知りたかったので。 言葉足らずですみません。 >49 試してみます。
- 54 名前:nobodyさん mailto:sage [2006/10/31(火) 20:28:02 ID:???]
- ZIPやGZIPではなく、LZHを展開するモジュールはありますか?
- 55 名前:nobodyさん mailto:sage [2006/10/31(火) 21:15:35 ID:???]
- 無かったんじゃない?
- 56 名前:nobodyさん mailto:sage [2006/10/31(火) 22:44:48 ID:???]
- コマンド呼び出ししかないだろうな。
- 57 名前:nobodyさん mailto:sage [2006/11/08(水) 04:25:42 ID:???]
- 文字コードshift_jisのままで、文字列中の\を置換する方法はありますか?
s/\\/?/g; 普通にこう書くと5Cを含む2バイト文字が化けてしまいます
- 58 名前:nobodyさん mailto:sage [2006/11/08(水) 05:28:40 ID:???]
- quotometa
\Q\E
- 59 名前:nobodyさん [2006/11/24(金) 00:36:56 ID:67lrIFIn]
- Perlからお気に入りのタブブラウザを起動するにはどうしますか?
- 60 名前:nobodyさん mailto:sage [2006/11/24(金) 00:46:06 ID:???]
- system(起動プログラム);
- 61 名前:nobodyさん mailto:sage [2006/11/24(金) 00:50:56 ID:???]
- >>60
できました! ありがとうございます。ペコリ
- 62 名前:nobodyさん mailto:sage [2006/12/02(土) 17:26:24 ID:???]
- >>46
の間違いって $request -> user_agent('Monazilla/1.00'); $ua -> user_agent('Monazilla/1.00'); 以外にある? このあたりだと思うんだけど $cookie_jar = HTTP::Cookies -> new( file => 'ume.cook', autosave => 1 ); $cookie_jar -> add_cookie_header($request); $ua -> cookie_jar($cookie_jar);
- 63 名前:nobodyさん mailto:sage [2007/01/07(日) 08:03:18 ID:???]
- CGIを作ろうとPerlの勉強を始め、
テキストに命令文を書き込んだのですが、 動作確認の仕方が分かりません。 書いたスクリプトを起動するにはどうすれば良いのでしょうか?
- 64 名前:nobodyさん mailto:sage [2007/01/07(日) 09:40:28 ID:???]
- Perlをインストールしないと確認できません
- 65 名前:nobodyさん mailto:sage [2007/01/08(月) 10:40:10 ID:???]
- ありがとうございます。
これからPerlのインストール方法を探しに行って来ます。
- 66 名前:nobodyさん mailto:sage [2007/01/08(月) 13:13:18 ID:???]
- $host = $ENV{'REMOTE_HOST'}
このようにホストを取得した場合 これを aaa.bbb.ccc →*.bbb.ccc のように 一部を隠す場合はどのようにしたらいいでしょうか? ホストの取得方法を変えなければいけませんか? ご教授くださいませ
- 67 名前:nobodyさん mailto:sage [2007/01/11(木) 08:43:23 ID:???]
- >>66
置換してから出力すればいいんじゃない?
- 68 名前:nobodyさん mailto:sage [2007/01/11(木) 08:45:37 ID:???]
- >>66
$foo =~ s/.*?\.(.*?)/\*\.\1/; かな
- 69 名前:nobodyさん mailto:sage [2007/01/11(木) 20:27:34 ID:???]
- 他のperiスレでも質問したのですが、スルーされてしまいました・・
マルチっぽくなってすみません。 拡張子が.plのスプリクトの動かし方を教えてください!!! ActivePerlをインストールしたのですが、そこからどすればいいのか分かりません・・ .plファイルをダブルクリックしてもコマンドラインが一瞬でて消えるだけです・・ サーバーをレンタルしないといけないのでしょうか? どなたか教えてください!!!
- 70 名前:nobodyさん mailto:sage [2007/01/11(木) 22:50:22 ID:???]
- 貴様が質問した1レスあとに答え書いてあるだろメクラ
- 71 名前:544 mailto:sage [2007/01/12(金) 00:31:09 ID:???]
- 難しくて意味が分りません!!!!!
コマンドプロテクトとかじゃなくて、exeファイルみたいに直感的に扱いたいです。 消防に分かるようにお願いします!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 72 名前:nobodyさん mailto:sage [2007/01/12(金) 03:40:35 ID:???]
- でんげんコードをぬいて、自分の首にまいて、ちからを入れてひっぱる
- 73 名前:nobodyさん mailto:sage [2007/01/13(土) 07:21:59 ID:???]
- >>903
そこまでやりました。 そしたら勃起しちゃいました・・ 次はどうすれば?
- 74 名前:nobodyさん [2007/01/15(月) 22:32:53 ID:h8620fdS]
- P2Pのゲームを作っていて、perl/CGIを使ってマッチングロビー、perl/cgiと
MYSQLを使って認証とプレイヤーの成績データのdbプログラムを組んでしま す。 マッチングも認証プログラムもdbも完成するめどがたっているんですが、 ネット上に公開するとき、サーバの負荷とか良く分かりません。 たとえば、スクリプトが大きくなるけど、一度のサーバーアクセスで全て処 理できるよう、認証・マッチング・db処理のスクリプトを一つにしたほう がいいのでしょうか。 ほんの少しサーバのアクセス回数が増えるけど、マッチングと、認証・dbを 分けてサイズを小さくし、必要な時に必要なCGIを呼び出した方がいいので しょうか? 本当にくだらない質問ですみません。
- 75 名前:nobodyさん mailto:sage [2007/01/17(水) 09:50:41 ID:???]
- 当方環境がWINなので、ActivePerl5.8をインストールしました。
UNIXサーバーをレンタルしてcgiで動かす場合、通常のPerl5.8は必要なのでしょうか? ActivePerlと共存しても大丈夫なんですが? 初歩的な質問ですみませんが、教えてくださです><
- 76 名前:nobodyさん mailto:sage [2007/01/17(水) 13:19:17 ID:???]
- >>74
負荷を気にするならPerl CGIを選択する時点で間違い >>75 バージョンはプログラムによる PerlとActivePerlは共存させる必要はない
- 77 名前:nobodyさん [2007/02/05(月) 22:01:41 ID:Utbdeaaf]
- Encode.pmは難しいので、使っているサーバがperl5.8対応でも、jcode.plを使ってもいいでしょうか?
本当に、何が何だが分からない質問で、すみません・・・
- 78 名前:nobodyさん mailto:sage [2007/02/05(月) 22:08:13 ID:???]
- 使えるよ。置換してるだけだから
- 79 名前:77 [2007/02/05(月) 22:56:56 ID:Utbdeaaf]
- >>78
返答ありがとうございます。
- 80 名前:nobodyさん [2007/02/07(水) 23:15:43 ID:5L64/RF4]
- dat.txtファイルに
あ い う え とあって、「う」だけを表示させたいのですが、どういったプログラムになるのでしょうか?
- 81 名前:nobodyさん mailto:sage [2007/02/07(水) 23:59:35 ID:???]
- エスパーさ〜〜ん、かも〜〜ん
- 82 名前:nobodyさん mailto:sage [2007/02/08(木) 01:05:33 ID:???]
- >>80
print "う";
- 83 名前:nobodyさん [2007/02/08(木) 12:46:57 ID:ySrCcQfc]
- 別に「う」を表示させたいわけじゃない。
datファイルにある3列目の文字を表示させたい。
- 84 名前:nobodyさん mailto:sage [2007/02/08(木) 14:04:25 ID:???]
- open(IN, "dat.txt");
while (<IN>){ print if($.==3); } close(IN);
- 85 名前:nobodyさん mailto:sage [2007/02/08(木) 14:25:54 ID:???]
- open IN, "dat.txt" and print <IN>[3];
テストしてない
- 86 名前:nobodyさん mailto:sage [2007/02/08(木) 15:27:19 ID:???]
- ありがとうございます。感謝です。
- 87 名前:あっこ [2007/02/08(木) 19:36:08 ID:LIdpjyEo]
- A
docomo-camera-ne.jp/zeidoroom/20070208192740.jpg B docomo-camera-ne.jp/zeidoroom/20070208193455.jpg ソース教えていただけませんか??
- 88 名前:nobodyさん mailto:sage [2007/02/08(木) 19:51:42 ID:???]
- >>87
とりあえずいくつものスレにまたがって質問して回るのを止めろ。
- 89 名前:nobodyさん mailto:sage [2007/02/08(木) 20:48:25 ID:???]
- CGI.pmってバグあるんですか?
バージョンは2.9です。 print $cgi->end_form; って入力してもプリントされないんですが・・・
- 90 名前:91 mailto:sage [2007/02/08(木) 20:58:18 ID:???]
- あ、すみません間違えました。
print $cgi->end_form; ってやると、何故か、 <div></div></form> ってプリントされるんです。 この<div>はなんなんでしょう?入れた覚え全くないんですが・・・
- 91 名前:nobodyさん mailto:sage [2007/02/09(金) 07:36:17 ID:???]
- >>87
おまえCの宿題スレにもいたけど大丈夫なのか
- 92 名前:nobodyさん mailto:sage [2007/02/10(土) 14:46:42 ID:???]
- CGIレスキューのショッピングバスケットプロ v6を使用しています。
このたび、アフェリエイト用のトラッキングタグを入れることになったのですが、 金額に関する変数の設定がわかりません。 cart.cgi内部の $fee、$fee2、$SHOKEI2、$SHOKEI2、$orders setup.cgi内部の $j など入れてみましたが、数値が出ません。 タグは注文の最終画面に入れ込みます。 注文IDに関してはすぐに出たのですが。。。。 エロイ方ご教授くださいませ。
- 93 名前:nobodyさん mailto:sage [2007/02/10(土) 17:59:27 ID:???]
- >>92
改造スレへGo っていうか仕事を2chに持ち込むなYO
- 94 名前:92 mailto:sage [2007/02/11(日) 12:29:23 ID:???]
- >>93
誘導有難うございます。 がんばってみて、駄目なら移動してみます。
- 95 名前:nobodyさん mailto:sage [2007/02/18(日) 20:10:51 ID:???]
- ttp://www.42ch.net/UploaderSmall/source/1171796861.zip
このスクリプトで、ログファイルへのデータ追加時に 現在の年日時を取得して 2007/2/18 20:09 のような形式で行の末端に自動的に書き込むようにしたいのですが、 どの部分にどのような処理を加えれば良いでしょうか?
- 96 名前:nobodyさん [2007/02/24(土) 08:30:18 ID:vuvrJgei]
- 最近外国人が宣伝目的で掲示板に書き込むので、なんどかしたい。
他の掲示板でも攻撃を受けているのをよく見かけます。 特徴としては、アルファベットのみで書き込むので、アルファベットのみの投稿の場合は エラーにしたいのですが、そんなことは可能でしょうか?
- 97 名前:nobodyさん mailto:sage [2007/02/24(土) 10:17:57 ID:???]
- >>96
EUC-JPだけど # $str に ASCII 以外が含まれているか判定する if ($str =~ /[\x8E\xA1-\xFE]/) { print "含まれている\n"; } 引用元 www.din.or.jp/~ohzaki/perl.htm#JP_Exist
- 98 名前:nobodyさん [2007/02/26(月) 13:07:30 ID:bWsttIN4]
- 改造です。
先頭行でなく最終行を取得しないとマズいことに気づいたんですが どうすればいいでしょうか。 --------- if ($in{'ori_ie_id'} eq "admin"){ $bbs1_log_file = "./member/admin/bbs".$in{'bbs_num'}."_log.cgi"; }else{ $bbs1_log_file = "./member/$in{'ori_ie_id'}/bbs1_log.cgi"; } open(IN,"$bbs1_log_file") || &error("Open Error : $bbs1_log_file"); # 先頭行を取得 $total_counter = <IN>; ($total_counter,$all_total_counter)= split(/<>/, $total_counter); $top = <IN>; local($b_num,$b_name,$b_date,$b_res,$b_count,$b_com)= split(/<>/, $top); --------------------------
- 99 名前:nobodyさん mailto:sage [2007/02/26(月) 16:00:02 ID:???]
- よし、エスパー3級の俺が答えてやろう。
複数行の入力を取った場合配列になる。 @lines = <INPUT>; この場合に最後の要素はこう所得できる。 $lastline = $lines[-1]; もしくはこう書いても良いだろう。 $lastline = pop(@lines); これらの違いについてはマニュアルを嫁。 分かったら次からはエスパーじゃなくても分かる言葉で書くように。
- 100 名前:nobodyさん mailto:sage [2007/03/07(水) 21:52:50 ID:???]
- なんか、トロイの木馬が検出されましたと出た。
- 101 名前:nobodyさん [2007/03/22(木) 13:03:52 ID:RsfMZKm1]
- $value = '%e6%97%a5%e6%9c%ac%e8%aa%9e';
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; として走らせたところ、スクリプトをウェブサーバを通して呼んだときと 同じサーバのコマンドラインから呼んだときで $valueの中が変わってきてしまいます。 linuxコマンドライン:ツづ可づ卍づアツつイ linux上ウェブサーバ:にほんご どうしてこうなっちゃうんでしょうか・・ コマンドラインから呼んだときでも"にほんご"とする方法はありますか?
- 102 名前:nobodyさん mailto:sage [2007/03/22(木) 13:08:13 ID:???]
- そのコンソールは日本語表示に対応してますか
- 103 名前:101 mailto:sage [2007/03/22(木) 14:06:12 ID:???]
- ごめんなさいよくわからないです。
linuxのサーバへはwindows上のtelnetでつないでまして、 さきほど、簡単にprintで"にほんご"と表示させるだけ、 もしくはファイルとして保存するだけのスクリプトを スクリプト自体の文字コードをいろいろ変えて走らせてみたところ、 どれも漢字混じりでぐちゃぐちゃっとなり、まともに出ませんでした。 これって対応してないって事ですかね。。
- 104 名前:nobodyさん mailto:sage [2007/03/23(金) 12:35:39 ID:???]
- せめてTeraterm使ってください
- 105 名前:nobodyさん mailto:sage [2007/03/26(月) 05:21:22 ID:???]
- 表示文字コードを変更できないプロンプトってあるの?
- 106 名前:nobodyさん [2007/04/18(水) 00:42:41 ID:2fOrfnuV]
- #ディレクトリを開く
print "変換するフォルダのパスを入力してください\n"; $folder_path = <STDIN>; chomp($folder_path); #改行コード削除 opendir(DIR, "$folder_path"); @file = readdir(DIR); closedir(DIR); #ファイル名を調べる foreach (@file) { #htmlファイルなら処理 if( $_ =~ /.html/ ){ print "$1\n"; ##ここは呼ばれるが$1が空## #ファイルを開く open(F, "+< $_.$1" ); #ファイル1行読み込む while($line = <F>){ #iso-8859-1をShift_JISに変換 if( $line =~ s/charset=iso-8859-1/charset=Shift_JIS/ ){ print(F "$line"); } } close(F); } } htmlファイルの文字コードをかえるコードを書きたいのですが、うまくいきません。 どこが、間違ってるのでしょうか?
|

|