1 名前:nobodyさん mailto:sage [2006/09/10(日) 13:33:48 ID:???] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 Perl使いが優しくコメントを返しますが、 お礼はPerlの布教と初心者の救済をお願いします。
433 名前:399 [2007/09/25(火) 23:08:16 ID:tW7VjElz] >>432 ある意味納得です。アルバイトへの応募も必要だし、経験を積むことをするのは必須事項でしょう。 omotiって何か知りませんが、私は地図を読む能力がゼロだとは思いません。 私は自分を過少評価する傾向がありますが、それをゼロだと言ってしまうと、卑下しすぎでしょう。 地図を必要とする理由は、地図を頭に入れてから実践したほうが効率面で有効だと判断したからです。 どういった手段で、先人達は、地図を入手してこられたのでしょう。素朴な疑問。
434 名前:nobodyさん mailto:sage [2007/09/25(火) 23:29:27 ID:???] >>433 >omoti ぐぐれ。 >地図を読む能力 「読む」のは誰でも出来る、経験に応じたレベルで。 経験を積むと見方が分ってきてより深く地図を読むことが出来るようになる。 >自分を過少評価 何様だ?オマエ。 経験をコードの行数で書くようなドシロウトみたいなマネしといて、 よくもまあ、自分を過大評価出来るもんだ。
435 名前:nobodyさん mailto:sage [2007/09/25(火) 23:38:09 ID:???] アルバイトに来られる側の人間として一言だけ 迷惑だから来ないで下さい
436 名前:399 [2007/09/25(火) 23:45:43 ID:tW7VjElz] >>434 どうも意志の伝達が正常に行われなかったようです。 自分を過少評価というのは、自分が偉いというのとは逆に、 自分をネガティブに評価する傾向があるという私の一般的性質を指しています。 だから、なぜあなたが怒りを発生させたかについては責任を負いかねます。 それから経験をコードの行数で書くのが実力や経験量を測定する尺度としてあまり妥当な手段でないことは認めるものの 何がしかの尺度にはなるかと思います。 一応情報系なので日常会話で行数について耳にしますので、補足しました。 >>435 アルバイトに来ると迷惑ですか。 私はやる気だけはありますよ。これまでもアルバイトしてましたが、面接でそう言いました。
437 名前:nobodyさん mailto:sage [2007/09/25(火) 23:52:05 ID:???] >>399 PMだけを目指すのならともかく、若いうちはガンガンスクリプトを書いとけ。 出来たものから汎用性のある部分をモジュールとして使えるようにしろ。 モジュールとして使わないまでも、関数なりクラスとして再利用出来るようにストックしとけ。 ロードマップだの何だの言うよりも、とにかくショウモないスクリプトでもいいから書いて書きまくれ。 言われてることが分からないなら、とっとと現実に戻ってクソして寝てみる夢を見つづけろ。
438 名前:nobodyさん mailto:sage [2007/09/26(水) 02:18:47 ID:???] perlの仕事なんか無いよ
439 名前:nobodyさん mailto:sage [2007/09/26(水) 02:21:03 ID:???] namcoの遠藤みたいにプログラムなんか欠片も知らないで入って それでいてゼビウスのようなゲーム作って大成功する奴もいるんだ お前みたいに能書きだけで先に進もうとしない奴は何やっても駄目
440 名前:nobodyさん mailto:sage [2007/09/26(水) 02:24:18 ID:???] >>399 とりあえず、会員制のサイトでも作ってみたら?最初はモジュールを 使わず、全てPurePerlで組む。完成しても公開はしない。あくまで、 自分の学習用。機能としては… ・新規登録フォームで必要項目を記述して送信すると 入力されたデータを保存。同時に確認メール発射。 ・確認メールの中にURLが記入されていて、そこに アクセスすると入会登録完了。 ・入会登録完了すると完了メールが届いて、そこに 書かれているIDとパスワードでログイン。 ここまで出来れば、Webサイトを作成する上での基本は学べると思う。 その後に、サイトの中でBBSなりユーザ情報設定等を追加していく。 ここまでで、Webサイトを運営する上で解決策が学べると思う。 その後に、同じ物をモジュールを使って作り直す。 ここまでで、モジュールの有難さを学べると思う。 ここまでできて、解らない事があれば、質問してくれ。逆に それまでは、自分の力で解決してくれ。途中でどうしても 自分の力で解決できなければ、才能が無いので、諦めてくれ。
441 名前: ◆T7TfLMI9dM mailto:sage [2007/09/27(木) 00:54:04 ID:???] 2ch検索でうっかりomotiを入力しちゃった俺が来ましたよw >>399 いきなり大きなものを一から作ろうとすると挫けるから、自分の思ってる機能に 一番近いものを実装してるCGI探してきて設置。まずはそれを好きなように 改造しまくる。これだけで一通りの流れは掴めると思う。次が>>440 かな。 ちなみに個人で始めるWebサービスは99%赤字になるから、金が欲しいなら 素直に今できるバイトで稼げ。
442 名前:nobodyさん mailto:sage [2007/09/27(木) 22:26:20 ID:???] タクトと同じ匂いがする...
443 名前:nobodyさん mailto:sage [2007/09/28(金) 09:09:43 ID:???] 初心者スレにも湧いてるしな。 うざったいことこの上ない。
444 名前:nobodyさん mailto:sage [2007/09/28(金) 20:52:36 ID:???] その前はProgの方のperlスレに湧いてたw 全部同一人物かw
445 名前:437 mailto:sage [2007/09/29(土) 00:32:05 ID:???] やっぱり口だけ君だったのか。 プログラミングなんて習うよりも作れだというのに。
446 名前:nobodyさん mailto:sage [2007/09/29(土) 01:20:03 ID:???] T7すっげぇ久々に見たな ってか実はいつもいるのか?
447 名前:nobodyさん mailto:sage [2007/09/29(土) 01:25:07 ID:???] どこに沸いたって?
448 名前:nobodyさん mailto:sage [2007/09/29(土) 13:45:18 ID:???] どのスレかわからんが、いつも見てるやつじゃないとOmotiを知らないし付き合わんだろw
449 名前:nobodyさん mailto:sage [2007/10/04(木) 08:24:35 ID:???] 質問です。 if ($vote_terminal == 0){$voteflag = 1;} else{ $a1 = $ENV{'HTTP_USER_AGENT'}; if (($a1 =~ /^DoCoMo\//)||($a1 =~ /^ SoftBank\//) ||($a1 =~ /^UP\.Browser/)){ if ($vote_terminal == 1){$voteflag = 0;}else{$voteflag = 1;} } elsif ($vote_terminal == 1){$voteflag = 1;}else{$voteflag = 0;} } HTTP_USER_AGENTの部分をREMOTE_ADDRにしたいのですが 携帯電話会社のIPアドレスをどう追加してやれば良いのでしょうか? 携帯電話のIPアドレスリスト ja.wikipedia.org/wiki/%E5%88%A9%E7%94%A8%E8%80%85:Tietew/%E6%90%BA%E5%B8%AF%E9%9B%BB%E8%A9%B1%E3%81%AEIP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%83%AA%E3%82%B9%E3%83%88
450 名前:nobodyさん mailto:sage [2007/10/04(木) 09:06:18 ID:???] その部分を変えても仕方ないと思うが。 IPアドレスで判定する部分そのものを新たに追加するってんならわかるが。
451 名前:449 [2007/10/04(木) 13:54:49 ID:wlik/mVj] レスありがとうです。 そうなんですか 尚更手に追えそうもないです; 失礼しました
452 名前:nobodyさん mailto:sage [2007/10/06(土) 23:30:58 ID:???] 標準入力を二度読み込みたいんだけど、方法ないですか? 目的は一度、デコード&整形した後でデコードだけの整形していないデータを取り出すこと。 seek STDIN 0, 0;は既に試しました。
453 名前:nobodyさん mailto:sage [2007/10/06(土) 23:35:10 ID:???] 最初に配列に放り込んでキープしておけば?
454 名前:nobodyさん mailto:sage [2007/10/06(土) 23:40:05 ID:???] >>452 STDIN→デコード→ファイル1に保存→整形→ファイル2に保存 ができない訳を言え
455 名前:nobodyさん mailto:sage [2007/10/07(日) 00:05:53 ID:???] >>454 やっぱり、その方法が手っ取り早いですか? 考えてはみたけど、それなら結局は最初から変数に読み込んで後で使う方がいい気も… んー、キーボード入力じゃなくてPOSTデータだから取り出せるものと思ってました。 一生手を入れないでマージンまでやってくれるクラスを作ろうと思ってまして。
456 名前:nobodyさん mailto:sage [2007/10/07(日) 02:14:11 ID:???] >>455 何だか大きく勘違いをしているような気がするが、 POSTデータなら最初から変数に入ってる
457 名前:nobodyさん [2007/10/21(日) 09:54:12 ID:xMq+XN4p] やりたいこと:mod_perl2をインストールしたい。 できなかったこと:ActivePerlへのppmを通じたインストールがうまくいきませんでした。 やったこと:ActivePerl5.8.8上でmod_perl2をインストールしようとし、 ppm> rep Repositories: [1] theoryx5.uwinnipeg.ca ... [7] Autonamed 2 ppm> search mod_perl Using cached search result set 1. 1. Apache-mod_perl_gui~ [1.31] mod_perl Guide 2. mod_perl [2.0.3] Embed a Perl interpreter in the Apache/2.2~ 3. mod_perl [1.29_01~ Embed a Perl interpreter in the Apache/1.3~ .... ppm> install 2 Package 2: ==================== Install 'mod_perl' version 2.0.3 in ActivePerl 5.8.8.817. ==================== Downloaded 2886493 bytes. Extracting 737/737: blib Error: can't run 'C:\Perl\bin\perl.exe install_script': No such file or directory となったので、「"install_script" ActivePerl」でググってみたりしたのですが、 どこに問題があるのか特定できませんでした。 次のアクションをご教示ください。よろしくお願いいたします。
458 名前:nobodyさん mailto:sage [2007/10/21(日) 10:59:29 ID:???] >>457 apache2.2は入ってるのか?
459 名前:457 [2007/10/21(日) 11:18:08 ID:xMq+XN4p] >>458 入ってます。
460 名前:nobodyさん mailto:sage [2007/10/21(日) 11:19:32 ID:???] >>457 ん?うちでは問題なくinstallできるべ。 >>458 が言ってるみたいに、 Apache2.2じゃなくて、Apache2.0にmod_perl入れたかったら、ppm install mod_perl2.0 ってしなきゃだめよ。 ちなみにひとつ言っとくが、Win版の2.0.61,2.2.6では両方とも、theory58Sのmod_perlは正常に動作しないべ。 あと、install_scriptってのはこれのこと theoryx5.uwinnipeg.ca/ppms/scripts/install_modperl
461 名前:nobodyさん mailto:sage [2007/10/21(日) 11:32:16 ID:???] 失敬。リロードしてなかった。 で、もっかい、今度は、(threory58Sはreposにいれてるんだよな?) ppm install mod_perl ってやってみ。
462 名前:nobodyさん mailto:sage [2007/10/21(日) 11:43:40 ID:???] 実はapache2.0を入れているという罠
463 名前:どうしてパンチラが流出? mailto:パンチラなし?佐藤ゆかりタン? [2007/10/21(日) 14:04:29 ID:???] _ ⌒ヽ_ / `ヽ、 /´_ `ヽ、 ,ィ''´ ̄ハ、i,/lヽ、 l! ,ィ´/'´/::/:::ラ./ / /!イソ !i .ハ / /゙ ! ' ::´:::::::|:// / ,イ /!"゙ヾ|リ i メ ! | :: ::::::ri/| |:::i|ハ i.|| i,/|! _//!:::|::::| | :: .::イリノハ ::!lィl丙`|/ |、 _ハ/::/:::;/ i ; ::::レl/ !,ヾ、! ゙'゚┘ 尤i'/,' / 20万人くらいが見ちゃったパンチラ!? / !..:::::l/ ::::アi. 、 , ゙‐'ソ'"'´ 元女子アナウンサー丸川珠代さん(白パンティー) ト、_// :::|:::::/ ::::://^ヽ、 ~ ,.ィi′ ex21.2ch.net/test/read.cgi/ana/1191988450/9 `ー'ナ/.:/::::/ ::::/´! ヾ "´l:::l| i / .:|:::/ :::;ィ/ |! ヽ:::!:riト、_, 日本人でよかった♪ 白でよかたーーー! !| /:|/ .//! ,!| ヽ ヾ、,リ この番組で有名となった参議院議員(東京)のまるたまさん | | //:::/:::! ! \. \ ヽ\ love6.2ch.net/test/read.cgi/furin/1148694809/174 ヾ// ::::/:::::|ノ _二;ヽ ゙、 ,} オ′:::i :::::::|/ ̄ \ ヾー-、 たけしさんとツーショットのまるちゃんに注目!(白パンティー) / | :: ::|::::::::::! ハ iヽ i でも、小泉チルドレン筆頭の i | ::|:::::::::リ ,イバー‐'′! ヽ 佐藤ゆかりタン萌えパンチラは無いよーーーーーーん ! |i : :|:::::ノ i /ハ | / | \ ヾ _,, !<_. { ///" ヽ _,. ‐''";;;;;;;,:'";;;;;/ ゙̄T''''r-レ \ _ i ヾ"、_;;;;_,;:'";;;;;;;;;;/;;;;;;;;;i;;;;;l;;;;;| }=ニl!;;ト、 / ヾ;;;;;;/`''ー--ヶ、;;;;;;シ;;;;;;|;;;;;;! ぐー`"ヽ! ヾi' / ヾ、;;;;;;;/;;;;;;;| 〈´  ̄~゙'''┘ ;ヘ , i ゙\;;;;;;;;;ハェュj パンチラ規制厨と闘ってます ! `ヽ、'_,{_ ゙\;;;;;| qb5.2ch.net/test/read.cgi/sec2chd/1192266095/639
464 名前:457 [2007/10/21(日) 15:13:46 ID:xMq+XN4p] >>461 やはり無理でした。 >>462 再確認しましたがapache2.2です。 -------------------------------------------- やむを得ず、「何かカオスな理由でトラブルが起きた」ということにして、 ActivePerlのリインストールという強硬手段に出ました。 その結果、無事インストールできました。 結局、問題の原因はミステリーのままに。^^; アドバイスくださった方、ありがとうございました。
465 名前:nu. [2007/10/21(日) 15:30:36 ID:hpzcI35P] 初めまして超くだらない事かもしれませんが質問させてください。 OceanGrid形式の動画を録画するにはどうしたらいいですか? また録画出来るものなのでしょうか…? よろしくお願い致します。
466 名前:10い mailto:d [2007/10/21(日) 19:05:50 ID:???] 質問します。 if( $ENV{'HTTP_USER_AGENT'} =~/bot|twiceler/){&zap;} 上みたいなのがあったとして、 USER_AGETNに、bot かtwiceler があると。 って感じなのですが、これですと例えば、Googlebotが来ると一致してしまいます。 bot以外の Googlebot や 1bot、 bots などに合致させない方法はありますか? ifからの文はなるべく変えない方法を教えてください。 できれば、=~// この中の範囲内の変更でできないでしょうか。よろしくお願いします
467 名前:nobodyさん mailto:sage [2007/10/21(日) 19:16:00 ID:???] and $ENV{'HTTP_USER_AGENT'}!~/Googlebot|1bot|bots/ これを条件に加えるのがわかりやすくないかな
468 名前:10い mailto:d [2007/10/21(日) 19:37:52 ID:???] >>467 お答えありがとうございます 467さんが書かれたのは、botに一致しないのでしょうか? test下のですが and にエラーがでてしまい結果がでません Premature end of script header s: /home/oo/public_html/index.cgi syntax error at /home/oo/public_html/index.cgi line 462, near "and" Execution of /home/oo/public_html/index.cgi aborted due to compilation errors. 前後の流れは if( $ENV{'HTTP_USER_AGENT'} =~/bot|twiceler/){&zap;} else{&zap2;exit;} のifからの部分を and $ENV{'HTTP_USER_AGENT'}!~/Googlebot|1bot|bots/){&zap;}のように変えてエラーです
469 名前:nobodyさん mailto:sage [2007/10/21(日) 19:43:45 ID:???] めちゃくちゃ古いヴァージョンなら and => && でどーでしょ
470 名前:10い mailto:d [2007/10/21(日) 19:51:36 ID:???] エラーが syntax error at /home/oo/public_html/index.cgi line 462, near "=> &&" です $perl -version This is perl, version 5.005_03 built for i386-freebsd apache はApache/1.3.39 です パールを最新にしてみます
471 名前:nobodyさん mailto:sage [2007/10/21(日) 19:58:24 ID:???] if( $ENV{'HTTP_USER_AGENT'} =~/bot|twiceler/ and $ENV{'HTTP_USER_AGENT'}!~/Googlebot|1bot|bots/){&zap;} エラー出ないよ
472 名前:10い mailto:d [2007/10/21(日) 20:18:23 ID:???] >>471 さん 取り急ぎ andから書いてました perlのアップグレードを始めてしまってなかなか終わらないので 終わったら試して確認してみます
473 名前:10い mailto:d [2007/10/21(日) 21:22:35 ID:???] >>471 上行のキーワード完全一致だけがzap4に飛びました perlのバージョンじゃなくて書き方が違っていたようです !~/hoge/ の意味を教えてください
474 名前:nobodyさん mailto:sage [2007/10/21(日) 21:58:00 ID:???] hogeにマッチしなければ真を返す(=~/hoge/の逆)
475 名前:10い mailto:d [2007/10/21(日) 23:00:45 ID:???] >>474 ありがとうございます
476 名前:nobodyさん mailto:sage [2007/10/23(火) 20:50:38 ID:???] 変数が配列であるかどうかを確認するには、どうすればよいのでしょうか?
477 名前:nobodyさん mailto:sage [2007/10/23(火) 21:36:17 ID:???] wantarray
478 名前:nobodyさん mailto:sage [2007/10/23(火) 21:54:51 ID:???] >>477 すいません、 sub write { my $name = $_[0], $data = null; if ( $_[1]が配列かどうかを確認したい ) { $data = join( "\n", $_[1] ) } else { $data = $_[1] } open( OUT, ">$name" ) || return 1; print OUT $data; close( OUT ); return 0; } のようにして、ifのところで、$_[1]が配列かどうかを確認したいのですが・・・・・ wantarrayの使い方がいまいち理解できませんでした。 このような場合は、どのようにすればよいのでしょうか
479 名前:nobodyさん mailto:sage [2007/10/23(火) 23:15:24 ID:???] >>478 「$_[1] が配列」ってPerlの言語仕様上ありえないわけだが? $_[1]が配列のリファレンスか否かってんであれば、 if ( ref $_[1] eq 'ARRAY' ){ } まあ、ソースを拝見した所、おそらく &write( 'name', @data ) ; あたりで呼ぶんだろから、 my $name = shift @_ ; my $data = undef ; if ( @_ >= 1 ){ $data = join( "\n", @_ ) ;} でいいんじゃね? 余分なことだが、 1. write は perl ですでに使われてるので他の名前にした方がいい。 2. 、、、、まあいいや。
480 名前:nobodyさん [2007/10/24(水) 13:14:01 ID:nBn+cskB] いまだにphpではなくperlで動いているあたり。。。 ttp://yoshihi6.com/perl/?q=http%3A%2F%2Fja.wikipedia.org%2Fwiki%2FPerl
481 名前:nobodyさん mailto:sage [2007/10/24(水) 18:26:51 ID:???] >>479 その方法で解決しました。 ありがとうございます。
482 名前:nobodyさん [2007/10/25(木) 17:20:59 ID:ZciT02o+] スライスした配列の参照を表現するにはどのように書けばいいですろうか。 @org[0..2]のリファレンスを作るとして、 イメージは$ref = \@org[0..2];みたいなことなんですが・・・
483 名前:nobodyさん mailto:sage [2007/10/25(木) 18:16:27 ID:???] $ref = [@org[0..2]];
484 名前:482 mailto:sage [2007/10/25(木) 18:38:58 ID:???] >>483 おおっ、なるほど!無形配列に入れるんですね。 勉強になりました!
485 名前:nobodyさん [2007/10/26(金) 10:43:23 ID:HBlkZ3uQ] セッション変数で配列の扱い方はどうすれば良いでしょうか。 検索結果の一覧画面Aで、リンク文字列からは検索結果をCSVファイルに出力しようとしてます。 HTMLタグで、リンク先にURL引数として動的に実行時の回数を渡します。 ↓---- <a href="data.cgi?num=(実行時の回数)>CSVデータ出力</a> ---- そして、実行回数とSQLをセッション変数に保存します。 ↓---- # 一覧画面Aの実行回数を更新 my $numListA = $session->param('numListA'); ++$numListA; $session->param("numListA", $numListA); # 一覧画面のN回目の実行時のSQLを保存 $session->param('ListAsql', $sql); ---- 現状は上記のようにしてますが、これはまだ単一のSQLしか格納できない状態です。 これを配列でN番目の要素にSQLをを格納したいと考えてます。
486 名前:nobodyさん mailto:sage [2007/10/26(金) 13:37:59 ID:???] 状況がハッキリ想像できてないので迷惑な答えになってしまうかもしれないけど CGI-Sessionではたしか配列はリファレンス渡しだったと思う。 最初に↓こう準備しておいて $arrayref = []; #初期化式 $session->('sql', $arrayref); #セッションに格納 その都度 $$arrayref[0] = $sql; $$arrayref[1] = $sql; $$arrayref[n] = $sql; でいけるかも?
487 名前:nobodyさん [2007/10/26(金) 17:05:53 ID:1fUnrvio] ほんとにどうしようもない初心者なのですが誰か教えてください。 #!C:/Perl/bin/perl require "cgi-lib.pl"; &ReadParse(*input); @list={$input{'a'},$input{'b'},$input{'c'}} $result=0; foreach $value (@list) { if($value == 0){$result++;} elsif($value == 1){$result=$result+2;} else{$result=$result+3;} } if($result<=1){$message = "文章1";} elsif(($result>=2)&&($result<=4)){$message = "文章2";} else{$message = "文章3";} inputにはラジオボタンから0〜2の値が送られてくるように設定してあります。 messageが結果として表示されるようにしてあるんですが何度やってもエラーがでてしまいます。 どこが間違ってるのでしょうか?
488 名前:nobodyさん mailto:sage [2007/10/26(金) 18:26:02 ID:???] @list=($input{'a'},$input{'b'},$input{'c'});
489 名前:nobodyさん [2007/11/01(木) 10:55:03 ID:yhsG2JfP] index.cgiからhtml.plをrequireし、 html..plの中でinfo.plを使いたいのですがどうしたら良いのでしょうか。 下のような感じではうまくいきませんでした。 ==index.cgi== #!/usr/bin/perl require "./html.pl"; &html::header(); ==html.pl== Package html; require "./info.pl"; sub header(){ print $header; } 1; ==info.pl== $header="Content-type:text/html¥n¥n";
490 名前:nobodyさん mailto:sage [2007/11/01(木) 11:10:49 ID:???] 構造に問題があると思うけど、 PackageのPを小文字にすればいいと思うよ
491 名前:nobodyさん [2007/11/01(木) 11:19:21 ID:yhsG2JfP] >>490 packageのpは実際のソースのほうは小文字になってました。 投稿ミスorz あとinfo.plの1;も投稿時の書き忘れです。 構造??
492 名前:489 mailto:sage [2007/11/01(木) 12:16:29 ID:???] 自己解決しました。 print $header;を print $main::header; にしたところ、Content-type:text/html¥n¥nが出力されました。
493 名前:nobodyさん mailto:sage [2007/11/01(木) 19:49:10 ID:???] headerの出力をinfo.plでする意味がワカランのだが? index.cgiで出力の制御 html.plでHTML文書の構造制御 info.plでHTML文書の内容を制御 にした方が構造的には綺麗にまとまるとオモ。
494 名前:nobodyさん [2007/11/03(土) 04:03:09 ID:0ypwQ9jZ] CGI上のIDやパスワード認証のログを保存するにはどう書き足せば良いでしょうか?
495 名前:nobodyさん mailto:sage [2007/11/03(土) 04:35:48 ID:???] fwrite($fp, $id.$pass);
496 名前:nobodyさん mailto:sage [2007/11/04(日) 01:00:13 ID:???] >>495 がPHPに見えるけど、酔っ払ってるせいだと思ってとっとと寝よう。
497 名前:nobodyさん mailto:sage [2007/11/08(木) 09:06:26 ID:???] 禁止メールアドレスを複数設定したいのですがどうすればよろしいですか? 1週間前にcgiを知りましてなんとか1語ではできるようになったのですが・・・ ヒントでは理解できそうもないのでずばり回答でお願いします。 # 禁止メールアドレスチェック if ($in{'email'} =~ /yahoo/) { &error("フリーメールはダメ"); }
498 名前:nobodyさん mailto:sage [2007/11/08(木) 12:50:47 ID:???] まず、それだとfooyahoooo@docom*.ne.jpとかも弾いてしまうわけだが
499 名前:nobodyさん mailto:sage [2007/11/09(金) 01:30:01 ID:???] >>498 さん そのようですね。失礼しました。さようなら。
500 名前:nobodyさん mailto:sage [2007/11/20(火) 17:27:42 ID:???] 誰か教えてくだされ。 Perl 5.8.2 CGI::Lite 2.02 を使って、うpローダを作ったんです。 ttp://digit.que.ne.jp/work/index.cgi?Perl%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%2FCGI%3A%3ALite#i2 を参考にバイナリ対応パッチは行いました。 Windowsだとうまく動いています。MacOSXからだと、0Dが0Aに化けます。 パッチが足りてない部分があるのでしょうか? どこをなおせばうまく行きそうですか?
501 名前:500 mailto:sage [2007/11/20(火) 18:07:03 ID:???] 追加情報 ・Mac OSX 10.4.11 (不明)の FireFox 2.0.0.9 からアップでデータ化け発生。(別の場所) ・Mac OSX 10.4.10 (Intel)の FireFox 2.0.0.9 からアップでデータ化けなし。(漏れ) 現在の状況:検証のために漏れのMacOSXを10.4.11へアップデータン中。 もしかすると、Perl側が原因じゃないかもしれないんで、Mac板でも情報集めして見ます。
502 名前:nobodyさん mailto:sage [2007/11/20(火) 18:57:03 ID:???] CGI::LiteとCGI_Liteは別物だぞ
503 名前:nobodyさん mailto:sage [2007/11/20(火) 19:45:06 ID:???] >>502 ttp://digit.que.ne.jp/work/index.cgi?Perl%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%2FCGI%3A%3ALite#i13 CGI::LiteとCGI_Lite CGI::LiteモジュールはCGI_Liteモジュールの後継になります。 CGI::Lite v2.0とCGI_Lite v1.9の違いは(ソースレベルで見ても)以下の3点だけです。 * パッケージ名 * バージョン番号 * ドキュメント内での記述(パッケージ名、バージョン、更新日付) CGI_Liteに関する情報は、99%までそのままCGI::Liteにも適用できます。なお、CGI::Lite 2.02版からは少しずつ修正が加わり始めています。
504 名前:nobodyさん mailto:sage [2007/11/20(火) 21:37:27 ID:???] 別物じゃん
505 名前:nobodyさん mailto:sage [2007/11/27(火) 00:40:39 ID:???] Debian etch、Apache2.2.3+perl5.8.8でCGIスクリプト走らせたらHDDアクセスが止まらなくて ログにOut of memory!ってでたんですけどどうすれば直りますか?
506 名前:nobodyさん mailto:sage [2007/11/27(火) 08:35:46 ID:???] 鯖スペックとその糞コード晒せ
507 名前:505 mailto:sage [2007/11/27(火) 13:35:14 ID:???] スクリプト ttp://park1.wakwak.com/~aa1/wwwolf/ 鯖スペック CPU:Pentium-M 1.4GHz メモリ:768MB HDD:80GB
508 名前:nobodyさん mailto:sage [2007/11/27(火) 14:09:42 ID:???] Perlのプログラムに関しての質問です. 現在2つのテーブルデータがありまして, 片方がID付きの参照テーブルになってまして,片方がログデータになってます. ログデータを読み込んで,参照テーブルのいくつかのカラムを比較し,同一の データを持つもつデータの参照IDを投げるという処理を行ってます. 現在ログデータを1行ごとに取り出し,その一回一回に参照テーブルを一致させるまでループして比較するという処理を行ってますが, データの量もあり時間がかかりすぎて仕方ありません.何か良い方法はないでしょうか イメージとしては以下の通りです. この例ではログテーブルの2番目,3番目,4番目の文字を,参照テーブルの2番目,3番目,4番目と比較し 一致したら,参照テーブルの1番目のIDを出力してあげるといった形です. ログテーブル 1107,A,B,C 1108,C,A,D 1109,A,C,B 1110,A,B,C 参照テーブル 1,A,B,C 2,A,C,B 3,C,A,D 出力データ 1107,1 1108,3 1109,2 1110,1
509 名前:nobodyさん mailto:sage [2007/11/27(火) 17:03:00 ID:???] >>508 my $log = <<'EOF' ; 1107,A,B,C 1108,C,A,D 1109,A,C,B 1110,A,B,C EOF my %table = reverse map{ split /,/, $_,2 } split /\n/, <<'EOF' ; 1,A,B,C 2,A,C,B 3,C,A,D EOF printf "%s\n", join ',', map{ $table{$_} || $_ } split /,/, $_, 2 for split /\n/, $log ; 文字通り参照テーブルをテーブルにするだけだよ。 >>507 人狼の掲示板で聞くのがスジだ。 インストールし忘れ(jcode.plなんか)とかチェックポイントが多すぎて答える気にもならん。
510 名前:508 mailto:sage [2007/11/27(火) 20:31:16 ID:???] >>509 有難うございました. 実際やってみまして上の例ではちゃんと出力できたことは確認しました。 しかし%tableの意味するところが勉強不足でちょっと分かりませんでした。 変数等をいじったりしてみたのですが お恥ずかしいところですが、具体的にどのような処理を行っているのか教えて頂けると 幸いです。
511 名前:nobodyさん mailto:sage [2007/11/28(水) 00:13:10 ID:???] my %table~~の行。 「改行区切りのデータをsplit して無名配列に入れ(split...) その要素を最初の,だけで区切って更に無名配列として返し(map{}) 結果として必ず偶数個となっている配列をhashと見なしreverse(reverse) それを%tableと云うhashに収納。」 printf~~の行。 「$logを改行にてsplitして無名配列に入れ(forの後のsplit...) それをfor修飾子にてループ(for)。 その各要素を最初の,だけで区切って無名配列に入れ(forの前のsplit...) その無名配列の要素をkeyとして テーブルにデータがあればテーブルのデータを返し、 なけれはそのまま要素を返す(map{})## で,でjoinして(join...) printf で整形してprint out(printf)」 ## は真面目に $_[1] だけ table見に行かすべきなんだけど メンドかったから、、、 EOF云々は「ヒアドキュメント」 まずは本でhashを覚えるんだ。
512 名前:nobodyさん mailto:sage [2007/11/28(水) 00:29:11 ID:???] スレタイと>>1 読んで反省した。 スタンダードな書き方で書くべきでした。 my $table = <<'EOF' ; 1,A,B,C 2,A,C,B 3,C,A,D EOF my %table ; foreach my $line ( split /\n/, $table ){ my @dat = split /,/, $line, 2 ; $table{$dat[1]} = $dat[0] ; } foreach my $line ( split /\n/, $log ){ my @dat = split /,/, $line, 2 ; print $dat[0] . ',' . $table{$dat[1]} . "\n" ; }
513 名前:509 mailto:sage [2007/11/28(水) 11:28:52 ID:???] なるほど,これなら理解できそうです. この例では,一致させる列が順番になってますが,現在扱っているデータでは 順番にはなっていないのですが,整列してから処理したほうが良いですかねぇ? わざわざ有難うございます. 助かりました.
514 名前:509 mailto:sage [2007/11/28(水) 13:38:32 ID:???] 何回も申し訳ありませんが, $tableないし$logデータは別ファイルに保存されているので,ファイルから 読み出しを行ったので,配列として読み出したのですがこの場合処理は どうなるのでしょうか.
515 名前:nobodyさん mailto:sage [2007/11/28(水) 13:58:53 ID:???] さすがにちょっとは自分でもしらべようぜ。 ヒント貰ってるんだからforeachとsplit辺りから検索できるだろうし。
516 名前:509 mailto:sage [2007/11/28(水) 14:21:28 ID:???] ↑すいません,自己解決です。
517 名前:465 [2007/11/28(水) 23:46:53 ID:JbJxNee4] activePerl5,8インストールしようとしたら invalid Drive:G ってなってインストールできナス orz 助けて下さい
518 名前:nobodyさん mailto:sage [2007/11/29(木) 13:33:09 ID:???] ドライブGがないのに、ドライブGをインストール先に指定しているだけでしょ
519 名前:超初心者 [2007/11/30(金) 10:10:18 ID:Hc83DxRo] Perlがわからない超初心者です。よろしければ教えてください! 広告管理CGI ver1.3 hpcgi2.nifty.com/hary/soft/myfile.cgi?num=25 これを使ったんですが、文字化けで悩んでいます。 ホームページビルダーShift_JISで使っている場合は問題ないですが、 ワードプレス(UTF-8)やロリポブログ(EUC)だと文字化けしちゃいます。 いろいろと試してみたのですが、まったく駄目です。 すいませんが、どこを直せばいいのでしょうか? よろしくお願いします。
520 名前:nobodyさん mailto:sage [2007/11/30(金) 12:36:34 ID:???] >>519 そのURLのサポート掲示板へ逝け
521 名前:超初心者 [2007/11/30(金) 13:03:46 ID:Hc83DxRo] 確かにサポート掲示板で書けばいいのですが、 この掲示板2006/8で終わっているようでらちが明かないので質問しています。 すいませんが、どなたか手助けお願いします。
522 名前:nobodyさん mailto:sage [2007/11/30(金) 13:30:01 ID:???] >>519 スレ違い CGI設置について質問【Part3】 pc11.2ch.net/test/read.cgi/php/1176143582/
523 名前:nobodyさん [2007/11/30(金) 15:31:46 ID:8pPZwPu7] どうも、こんにちは。 CGIゲームの改造(TOWN)をしている者です。 独自タグを導入しようと思っています。 #タグ処理 $in{'a_com'} =~ s/\[i\](.+?)\[\/i\]/<em>$1<\/em>/gi; $in{'a_com'} =~ s/\[b\](.+?)\[\/b\]/<strong>$1<\/strong>/gi; $in{'a_com'} =~ s/\[u\](.+?)\[\/u\]/<u>$1<\/u>/gi; $in{'a_com'} =~ s/\[pre\](.+?)\[\/pre\]/<pre>$1<\/pre>/gi; $in{'a_com'} =~ s/\[s([1-7])\](.+?)\[\/s\]/<font size="$1">$2<\/font>/gi; $in{'a_com'} =~ s/\[c=(\S+)\](.+?)\[\/c\]/<font color="$1">$2<\/font>/gi; $in{'a_com'} =~ s/</</g; $in{'a_com'} =~ s/>/>/g; $in{'a_com'} =~ s/([^=^\"]|^)(https?\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]+)/$1<a href=\"$2\" target=\"_blank\">$2<\/a>/g; $in_a_com = $in{'a_com'};#koko2006/11/07 このような感じにしたのですが、独自タグを記述してもタグのままでてしまいます。 独自タグを入力すると、変換はされるのですが、結果が表示されません。 このような場合どのようにすれば良いでしょうか? 宜しくお願いします。
524 名前:nobodyさん [2007/12/01(土) 04:28:25 ID:p/Twqk8/] >>523 独自タグ処理の後に<と>に変換してるからじゃない?
525 名前:nobodyさん [2007/12/01(土) 04:29:21 ID:p/Twqk8/] >>524 <>な
526 名前:nobodyさん [2007/12/03(月) 02:01:35 ID:J4A8iRzG] レンタルサーバーでインストール済みのモジュールを調べました。 そのときの一覧で、頭に5.8.8とかの数字がついているのがあって、 その意味がわかりません。 例えば 5.8.8::XML::XPath というのが一覧に載っていたのですが、そのほかに XML::XPath というのも載っています。 これら二つはどう違うのですか?
527 名前:nobodyさん mailto:sage [2007/12/03(月) 09:47:05 ID:???] そのモジュール一覧を調べるスクリプトの アルゴリズムが腐ってんだろうよ。
528 名前:nobodyさん [2007/12/06(木) 00:17:44 ID:HgYNR+TB] データベース処理に関してDBIを使用していますが、デバッグ用にクエリを表示もしくはログを記録したいのですが、どうすればいいでしょうか。 と言うのも、プレースホルダ使ってからクエリ実行する場合、動的なデータに対して「?」をセットしますよね。 このまま自分で記録しようとしても、「?」のまま記録してしまうし かといってDBI->traceを使うと、余計な情報ばかり出力されます。 皆さんはどのようにデバッグしていますか?
529 名前:nobodyさん [2007/12/06(木) 01:32:40 ID:NHCKs2bj] あるファイルの一行目の文章のみ手直ししたいと思っています。 自分なりに考えた方法では open(FILE,"+>./log.dat"); while(<FILE>){ @LOG=$_; } $LOG[0]=~/(hoge)(hoge)/; shift @LOG; unshift @LOG,"hoge3$2"; print FILE @LOG; 上記では、whileの中で一行目以降の行も配列に格納している点が、初心者の私には無駄に感じてしまいます。 もしこれより簡潔で、サーバーへの負荷も少なくてすむ方法をご存知の方がいらっしゃいましたら、ご教授ください。
530 名前:nobodyさん mailto:sage [2007/12/06(木) 05:14:19 ID:???] >>528 Perlではないけれども、自鯖環境なら、my.cnfに log=/var/log/・・・ てな感じで記録すれば全てのクエリのlogが取れる。 レン鯖環境でも、デバッグ目的なら、自前のPCで同じことをすればよい。 (UnixだろうとWinだろうと、mysqlのversionが同じなら、クエリレベルでは全くの互換) >>529 open(FILE,"<./log.dat"); open(OUT,">./logout.dat); $row = <FILE>; $row = うんたらかんたら・・・ print OUT $row; while(<FILE>){ print OUT $_; } close(FILE); close(OUT); オレならこうするかな。 既存ファイルの”ケツ”に足すのなら、">>file.name"で簡単だけど、頭だけを変更したいとなったら、 ファイルの内容を一旦全て読み込まないといけなかったんではなかったかな。 (変更前と変更後の一行のバイト数が同じになるとは限らないから。) この後でRenameするなどしたらよし。 (自分の場合は、どんな時でも、基本的に変更前のbackupをとって置く性質なんで、確実に不要とわかってから元を消すようにしてる。) もうひとつゆうと、ウチの環境では、 @log = <FILE>; とするよりも、 while(<FILE>){ push(@log,$_) } とか、 $log = join('',<FILE>);とかするほうが、 圧倒的に早い(WinXp + ActivePerl-5.8.8で、1.5倍〜2倍くらい早い。よその環境は知らない。)
531 名前:nobodyさん mailto:sage [2007/12/06(木) 05:29:50 ID:???] >>529 ああ、その前に、そのコードそのままなら、 本当に $log[0] に一行目が入っているかい?
532 名前:nobodyさん mailto:sage [2007/12/06(木) 05:34:31 ID:???] >>528 ああごめん。 mysql限定とは書いてなかったね。 でも多分、ほとんどのDBには、DB側にクエリのlogを保存する機能がついてるはず。 なにも全てPerl側でやる必要はないと思う。
533 名前:nobodyさん mailto:sage [2007/12/06(木) 07:57:56 ID:???] >>529 簡潔って「一点のみ」で、 use Tie::File ; tie my @array, 'Tie::File', 'hoge.txt' or die ; $array[0] =~ s/foo/bar/ ; untie @array ; 以下は横レスFYI: >>530 氏は、「ウチの環境では」ときちんと断わってはいるが、一応他の環境での ベンチマーク結果だ。シビアに考えるなら常に自分の環境で、use Benchmark で テストする事をお勧めする。 (けど、普通の環境ならシビアにテストしなくてもいいんじゃね?) This is perl, v5.8.6 built for darwin-thread-multi-2level @OSX 10.4.11, G4 500MHz メモリ1G 一行50文字の2万行のデータ hoge.txt にて % cat hoge.pl use Benchmark ; sub __handle{ open IN, q{hoge.txt} ; push @arr, <IN> ; close IN ; } sub __array { open IN, q{hoge.txt} ; while( <IN> ){ push @arr, $_ ; } close IN ; } sub __join { open IN, q{hoge.txt} ; $dat = join '', <IN> ; close IN ; } timethese ( 50, { op1 => '__handle', op2 => '__array', op3 => '__join' } ) ; % perl hoge.pl Benchmark: timing 50 iterations of op1, op2, op3... op1: 7 wallclock secs ( 6.31 usr + 0.59 sys = 6.90 CPU) @ 7.25/s (n=50) op2: 8 wallclock secs ( 7.11 usr + 0.59 sys = 7.70 CPU) @ 6.49/s (n=50) op3: 8 wallclock secs ( 6.12 usr + 0.60 sys = 6.72 CPU) @ 7.44/s (n=50)
534 名前:529 [2007/12/06(木) 12:01:39 ID:I3qzGVsw] >530 ご親切にありがとうございます。参考になります。 全部読み込む必要があるのですね。 >本当に $log[0] に一行目が入っているかい? ご指摘の通り、入っておりませんでした。 @LOG=$_; の部分を push @LOG,$_; としましたが、それでも$log[0]に一行目が入っていませんでした。 試しに、 open(FILE,"+>./log.dat"); の部分を open(FILE,"<./log.dat"); としたところ、ようやく$log[0]に一行目が入りました。 いまいち『+>』の意味がつかめません。自分が持っているperlの本を何冊か見ると、 『+>』は入出力共用(上書きモード)とあるのですが、それは『<』と『>』を同時にやったことにはならないのでしょうか。 例えば、 『open(FILE,"+>./log.dat");』 というのは 『open(FILE,"<./log.dat"); open(FILE,">./log.dat"); 』 ってことではないのですよね(動作をみると)。よくわかりません。。。
535 名前:529 [2007/12/06(木) 12:02:24 ID:I3qzGVsw] >533 ありがとうございます。そういう風にテストするんですね。 (自分の勉強不足でした。) かゆいところに手が届いた感じです。感謝してマス。 早速調べて使ってみます。
536 名前:530 mailto:sage [2007/12/06(木) 14:42:15 ID:???] >>533 わざわざ補足いただいて恐縮なんだけど、少しご意見を・・・。 自分は、あまり use Benchmark を信用せずに、 use Time::HiRes でベンチ取るようにしてる。 どうも use Benchmark は、実際の動作時間に即してないような気がするので。 具体的にゆうと、>>530 や>>533 の場合だと、ファイルIOについての待ち時間がカウントされてないように思う。 確かにPerl内部だけで動作が完結するコードについては、しっかりと時間を計測してくれてるようだけど、 例えば外部ファイル読み書きや、他のプロセスをロードしたりするための時間はカウントしてくれないみたい。 詳しくソースとかを追ったわけではないけれど、以下簡単な実証コード use Time::HiRes qw(time); use Benchmark qw(timethese); $n = 100; sub cgi_1 { system( q(perl -MCGI -e "") ); } sub cgi_2 { system( q(perl -MCGI::Lite -e "") ); } timethese($n,{ u_CGI => 'cgi_1', u_CGIL => 'cgi_2'}); $st1 = time(); for(1..$n){ &cgi_1(); } $lt1 = time() - $st1; $st2 = time(); for(1..$n){ &cgi_2(); } $lt2 = time() - $st2; printf "%.3f s\n",$lt1; printf "%.3f s\n",$lt2;
537 名前:530 mailto:sage [2007/12/06(木) 14:42:47 ID:???] Unix系だと、time for i in `seq 1 100 ・・・ とかで、コマンドラインから簡単に実測できるコードなんだけど、それをWinに移植したつもり。 これの結果が、This is perl, v5.8.8 built for MSWin32-x86-multi-thread(Pen4 3.4G mem2G)で、 Benchmark: timing 100 iterations of u_CGI, u_CGIL... u_CGI: 4 wallclock secs ( 0.05 usr + 0.11 sys = 0.16 CPU) @ 641.03/s (n=100) u_CGIL: 2 wallclock secs ( 0.02 usr + 0.06 sys = 0.08 CPU) @ 1282.05/s (n=100) 4.031 s 1.453 s こうなった。wallclockは正しいようだけど、詳細の内容が実態に即してないように思える。 同じコードを、以前Unix(CentOSやFedora)環境でやってみても、同じような結果になる。 (とゆうか、詳細な数値は覚えてないけど、CGIとCGI::Liteが、ほぼ同程度の速度とかレポートされた。) あと、そのLinuxで、>>533 のようなベンチを取ったときも、やっぱり push(@log,$_) が最速だった。 あくまでもウチの環境で、でだけど。 @log=<IN>の倍程度は出てた。ファイルの容量、行数が多いほうが、よりpushが早かった。 (そちらのDarwinは、@log=<IN>形式がかなり早いね。) ついでに、>>533 のコードに、use Time::HiRes 書き足して、自分の環境でやった結果。 (OS等は同上。ファイルは、1行約200バイト、50万行で総計約100MB。時間かかるので、n=2で測定) Benchmark: timing 2 iterations of op1, op2, op3... op1: 72 wallclock secs (70.59 usr + 1.36 sys = 71.95 CPU) @ 0.03/s (n=2) op2: 35 wallclock secs (33.95 usr + 0.66 sys = 34.61 CPU) @ 0.06/s (n=2) op3: 38 wallclock secs (37.22 usr + 0.73 sys = 37.95 CPU) @ 0.05/s (n=2) op1 = 138.750 s op2 = 49.078 s op3 = 54.547 s
538 名前:nobodyさん mailto:sage [2007/12/06(木) 18:28:34 ID:???] 533 は、ただ「(データを含めた)環境によって状況は変る可能性があるよ」って言いたかっただけなんだ、が、、、 気を悪くなさったなら謝罪します。 ================================== 一応、そちらの>>356 の実行結果 Benchmark: timing 100 iterations of u_CGI, u_CGIL... u_CGI: 16 wallclock secs ( 0.01 usr 0.32 sys + 11.46 cusr 3.34 csys = 15.13 CPU) @ 303.03/s (n=100) u_CGIL: 5 wallclock secs ( 0.01 usr 0.30 sys + 3.00 cusr 1.96 csys = 5.27 CPU) @ 322.58/s (n=100) 15.595 s 5.506 s >>357 に関しては、 perl hoge.pl Benchmark: timing 2 iterations of op1, op2, op3... op1: 266.766 wallclock secs (16.62 usr + 29.02 sys = 45.64 CPU) @ 0.04/s (n=2) (warning: too few iterations for a reliable count) op2: 58.1595 wallclock secs ( 9.94 usr + 4.68 sys = 14.62 CPU) @ 0.14/s (n=2) (warning: too few iterations for a reliable count) op3: 899.579 wallclock secs (22.62 usr + 63.34 sys = 85.96 CPU) @ 0.02/s (n=2) (warning: too few iterations for a reliable count) op1 = 499.930 s op2 = 108.665 s op3 = 972.383 s メモリが潤沢でないから join がこんな目に合うのは当然。 因に自己ツッコミだけど、>>533 はサブルーチン内で my @arr なりしないとアンフェアなベンチ、、、、
539 名前:530 mailto:sage [2007/12/06(木) 20:10:20 ID:???] >>538 いえいえこちらこそ申し訳ないです。そうゆうわけではありません。 ただ、use Benchmark にイマイチ信用が置けない者の意見として、 状況によっては、use Benchmark がアテにならないこともあるよ、ってことが言いたかっただけです。 >因に自己ツッコミだけど、>>533 はサブルーチン内で my @arr なりしないとアンフェアなベンチ そこは最初に気付いたから、自分のコードの中では、my して計測してます。 追記 CentOS5 でもやってみた。(コード、ファイルはWin環境と同じ) This is perl, v5.8.8 built for i386-linux-thread-multi (Pen4 2.4G men2G、ソースから'-O3'オプションでコンパイル) Benchmark: timing 2 iterations of op1, op2, op3... op1: 5 wallclock secs ( 3.59 usr + 0.54 sys = 4.13 CPU) @ 0.48/s (n=2) op2: 2 wallclock secs ( 2.44 usr + 0.21 sys = 2.65 CPU) @ 0.75/s (n=2) op3: 4 wallclock secs ( 3.08 usr + 0.59 sys = 3.67 CPU) @ 0.54/s (n=2) op1 = 3.677 s op2 = 2.819 s op3 = 3.510 s はやっ! 以前計測した時はこんな早かったかな〜って思ったけど、何回やっても同じような結果になるんで、あってるんだろう。 どうもWin(ActivePerl)が、Unix系に比べて、メモリ確保あたりが激しく遅いのかなって気がしてくる結果でした。 (Discパフォーマンスは同程度、ってかこの環境に限っては、上のレスのWin環境のほうが早い)
540 名前:nobodyさん mailto:sage [2007/12/07(金) 21:30:21 ID:???] >>534 つ seek
541 名前:nobodyさん [2007/12/10(月) 02:52:34 ID:FqUmo5vT] >>1 を読んで、ここなら私の質問も馬鹿にされずに 答えてくれるかと思いましたが、 どうやらそれすら適わないようです。 もっと低レベルの質問をしたい場合はどこに行けば良いですか?
542 名前:nobodyさん mailto:sage [2007/12/10(月) 02:55:27 ID:???] 樹海
543 名前:nobodyさん [2007/12/10(月) 20:07:09 ID:iaWb7lQX] open(ファイルファンドル,"ファイル名") || &error; ←この&error;もしくはdieとかは なんの意味があるんでしょうか? これあってもなくてもInternal Server Error(500)になるんですけど・・・
544 名前:nobodyさん mailto:sage [2007/12/10(月) 20:21:45 ID:???] >>543 ファイル開くのが失敗した時にorの右の式が実行される。 ファイルが無事開ければ1が返すけど、 失敗すると0が返ってくる。 0 or &error; って実行するとorの右の式が実行されるのが分かる。 my $flag = open〜; print $flag; とかやってみれ どっちにしても500になるのはファイルが存在しないからか、 別の場所でエラーが起きてる。 スクリプトの3行目あたりに use CGI::Carp 'fatalsToBrowser'; を追加してテバックしなさい。 暇だからマジレスしたぜ
545 名前:nobodyさん mailto:sage [2007/12/10(月) 20:33:24 ID:???] >>544 レスdです >500になるのはファイルが存在しないから あーやっぱりファイル無いと500でるんですね・・ 一応ローカルでファイルあるとき(使用中(オープン中))はエラー表示されますた
546 名前:nobodyさん mailto:sage [2007/12/10(月) 23:08:25 ID:???] >>545 ファイルが無くてもorの右の式は実行されるよ。 ローカルでは動くならパーミッションのミスか、cgi用のディレクトリに入ってないとかじゃない? あとは、perlのパス間違ってるとか。 ファイルが無いときにエラー処理したいなら &error if (not -e $file); とかにしれ or &error;ってやるのはロック中だけにするとエラーの原因が絞れるよ。
547 名前:543 mailto:sage [2007/12/11(火) 02:37:10 ID:???] >>546 ローカル環境はXP+apache_1.3.39+ActivePerl-5.8.8.822です use CGI::Carp qw(fatalsToBrowser);もスクリプトに入ってます --------------------------------------------- open(FH,"abc.dat") || &error;←ココ flock(FH,1) || &error; 以下割愛 sub error { print "content-type: text/html\n"; print "\n"; print "ERROR : $!"; exit; } --------------------------------------------- >ファイルが無くてもorの右の式は実行される >ファイルが無いときにエラー処理したいなら >&error if (not -e $file); どうも無理っぽいです ファイル無いと500エラー出ます 500用のエラーページ(←自分で作った)も表示されないので ファイルが無いと500(強制終了?)ぽいです?
548 名前:nobodyさん [2007/12/11(火) 07:09:06 ID:hJLc29jh] >>547 > flock(FH,1) その部分を eval{flock(FH,1)}; にしてごらん windowsではflock使うと致命的エラーになるよ。
549 名前:nobodyさん mailto:sage [2007/12/11(火) 08:21:01 ID:???] >>547 apacheのエラーログになんて出てる?
550 名前:nobodyさん mailto:sage [2007/12/11(火) 10:15:38 ID:???] 嘘つくなよ flockできないのは、非NT系だけ
551 名前:nobodyさん mailto:sage [2007/12/11(火) 17:54:09 ID:???] >>550 ごめんガチでしらんかったorz
552 名前:nobodyさん [2007/12/11(火) 18:01:01 ID:hJLc29jh] >>547 良く見りゃopenの種類書いてないけどそこ大丈夫? >,>>,<,>+
553 名前:nobodyさん mailto:sage [2007/12/11(火) 18:58:11 ID:???] >>552 匿名掲示板だからといって、いい加減なこと言わない方がいいよ。 今まで何度匿名掲示板で犯罪予告して逮捕されたか、知っているの? 偽計業務妨害で逮捕されろ。
554 名前:543 mailto:sage [2007/12/11(火) 21:44:35 ID:???] 遅くなりました >>549 ログはこんなんです。 ["日時"] [error] [client 127.0.0.1] Premature end of script headers: "該当CGIへのパス" >>552 openモードの1は省略可能では?
555 名前:nobodyさん [2007/12/12(水) 00:35:05 ID:amxfThwD] PHP4使ってます 作ったスクリプトをブラウザで実行させると 1分くらい待った後にエラーも出ずに、画面が真っ白に なったんですが、何が原因ですか? コマンドラインで-l付きで実行しても文法エラーは出ませんでした。 ただ、コマンドラインが異常に重くなったので、 PCにかなり負担をかけているようです。 無限ループ系のエラーかな?
556 名前:nobodyさん mailto:sage [2007/12/12(水) 10:04:09 ID:???] >>555 このスレのタイトルを、声を出して読めば何が原因かわかると思います。
557 名前:nobodyさん mailto:sage [2007/12/12(水) 10:45:09 ID:???] >>555 ちなみにperlは「パール」と読みます。 超初心者用は「ちょうしょしんしゃよう」です。 三回ほど声に出して読んでみてはいかがでしょう?
558 名前:nobodyさん mailto:sage [2007/12/12(水) 20:59:26 ID:???] 超初歩的な質問なんだけど、ActivePerl5.8.8を インストールしたんだけどコンパイルとか実行の仕方がわかんないです。 どなたか助けてもらえませんか?
559 名前:nobodyさん mailto:sage [2007/12/12(水) 22:23:24 ID:???] 何がしたくてインストールしたのさ?
560 名前:nobodyさん mailto:sage [2007/12/13(木) 00:30:26 ID:???] >>558 >>556
561 名前:nobodyさん mailto:sage [2007/12/13(木) 02:13:55 ID:???] >>558 Perlはスクリプト言語なので、コンパイルは必要ありません。 コマンドラインからスクリプトを指定して実行するか、 AN HTTPD等からCGIを実行するのに使うのか、 それによってやり方が違います。 とりあえず、わざわざActivePerlを選んだって事はWindowsだと思いますが、 Windowsのバージョン(9x/2000/Xp/Vista)によって設定方法が色々違うので、 下記の情報を書くと多少は情報が得られると思います。 ・OSのバージョン ・利用目的(CGI?ローカルのスクリプト?) とりあえず、藻前は↓コレでも見て出直せYO! pocketstudio.jp/win/activeperl/
562 名前:nobodyさん mailto:sage [2007/12/14(金) 06:41:05 ID:???] >>561 匿名掲示板だからといって、いい加減なこと言わない方がいいよ。 今まで何度匿名掲示板で犯罪予告して逮捕されたか、知っているの? 偽計業務妨害で逮捕されろ。
563 名前:nobodyさん mailto:sage [2007/12/14(金) 15:25:54 ID:???] >>562 m9(^Д^)プギャーーーッ
564 名前:nobodyさん mailto:sage [2007/12/14(金) 21:44:19 ID:???] 聞きづらい雰囲気だ(笑 CGIなんだけど、あるディレクトリの中身を全消去してから、 そのディレクトリ自体を消去するしようとしているんだけど、ディレクトリの消去がうまくいかない。 $dir = "./abc/hoge/"; opendir DIR, $dir; @files = grep { !m/^(\.|\.\.)$/g } readdir DIR; closedir DIR; $flag = @files; if ( $flag ) { foreach $file ( @files ) { unlink "$dir$file"; } } rmdir ("abc/hoge"); rmdirの使い方を間違ってるかと思って、中身入っていないabc/hoge2で試してみると消えてくれた。 どうやらunlink→rmdirの流れが悪いのかと思って、sleepで5秒間止めてみたけど、何も変わらなかった。。。 誰かわかる人いる??検索しても全然わからんかった。。。
565 名前:nobodyさん mailto:sage [2007/12/14(金) 21:47:56 ID:???] >>564 匿名掲示板だからといって、いい加減なこと言わない方がいいよ。 今まで何度匿名掲示板で犯罪予告して逮捕されたか、知っているの? 偽計業務妨害で逮捕されろ。
566 名前:nobodyさん mailto:sage [2007/12/15(土) 01:11:18 ID:???] こんなんじゃダメ? use Cwd; my $dir = "/abc/hoge/"; my $cwd = Cwd::getcwd(); execcommand("/bin/rm -r $cwd/$dir"); exit; sub execcommand { my $cmd = shift; my $err = ''; my @envbak = ($ENV{'IFS'}, $ENV{'CDPATH'}, $ENV{'ENV'}, $ENV{'BASH_ENV'}, $ENV{'PATH'}); delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV', 'PATH'}; eval{ system( $cmd ); }; if ($@) {$err = $@;} $ENV{'IFS'} = $envbak[0]; $ENV{'CDPATH'} = $envbak[1]; $ENV{'ENV'} = $envbak[2]; $ENV{'BASH_ENV'} = $envbak[3]; $ENV{'PATH'} = $envbak[4]; return $err; }
567 名前:564 mailto:sage [2007/12/16(日) 19:49:12 ID:???] >566 ありがとうございます。 参考にさせていただきました。
568 名前:nobodyさん mailto:sage [2007/12/17(月) 22:02:42 ID:???] 質問させてください。 mimew.pl というファイルを公開している所が見つからないのですが、 なんとか入手する方法はないでしょうか?
569 名前:nobodyさん mailto:sage [2007/12/17(月) 22:08:17 ID:???] >>568 多分これ。保証はしない。 つ[ ttp://ambiente.okayama-u.ac.jp/~blog/cgi-bin/su_downloader/mimew.pl ]
570 名前:nobodyさん mailto:sage [2007/12/17(月) 23:05:24 ID:???] 保証してください
571 名前:568 mailto:sage [2007/12/17(月) 23:13:17 ID:???] >>569 早急な対応ありがとうございます! 無事メールフォームCGIを動かす事が出来ました!! 本当にありがとうございました!
572 名前:nobodyさん mailto:sage [2007/12/17(月) 23:22:17 ID:???] 宣伝乙
573 名前:nobodyさん mailto:sage [2007/12/18(火) 08:03:18 ID:???] ハッシュ配列の各要素をリファレンスとして関数の引数に渡したいのですが よくわからなくて試行錯誤の末下のような方法にたどり着きました $AA{'name'} = '1234'; $BB[0]{'name'} = 'abc'; $BB[1]{'name'} = 'ああああ'; $BB[2]{'name'} = '!?'; kansuu( \%AA ); $tmp = \@BB; kansuu( ${\$tmp->[0]} ); kansuu( ${\$tmp->[1]} ); kansuu( ${\$tmp->[2]} ); sub kansu { my $h = $_[0]; print "$h->{'name'}<br>"; } BBの要素を kansuu() に入れるために もっとスマートな方法(っていうか正しい書式)がありましたら教えてくれないでしょうか?
574 名前:nobodyさん mailto:sage [2007/12/18(火) 19:13:55 ID:???] Perlがプログラミング言語ということぐらいしか分からない初心者です。 ウインドウズXPを使っています。 ActivePerlでコマンドプロント上でppmを使ってImage::ExifToolをインストールしようとしたのですが >ppm install failed: DBI connect(〜) failed: unable to open database file(1) と出てインストールできませんでした。 DBIをどうにかしたらよいとは思うのですがよく分かりません。 どうしたらよいのでしょうか? ご教授お願いします。
575 名前:nobodyさん mailto:sage [2007/12/18(火) 21:22:12 ID:???] そんくらいぐぐれ
576 名前:574 mailto:sage [2007/12/19(水) 19:22:29 ID:???] 聞き方が悪かったですね。 具体的な問題点は ・ppmはActivePerlをインストールしただけでは使えない? ・DBIとか落としてきてもどうやってインストールしたらいいのか分からない。 ・そもそもPerlの作業をどこで行ったらいいか分からない。 (コマンドプロントでuseをしてもなんにも起こらない←間違っている?) ・つまるところプログラミングのイロハが分からない。 スレ違いというやつですか?
577 名前:574 mailto:sage [2007/12/19(水) 19:37:06 ID:???] で、何がやりたいかと言いますと、これです↓ ttp://www.fenrir.co.jp/blog/2007/12/useraction_extension_3_1.html つまずいたのは2のところです。
578 名前:nobodyさん mailto:sage [2007/12/19(水) 21:36:49 ID:???] >>576 スレ違い
579 名前:nobodyさん mailto:sage [2007/12/19(水) 23:17:02 ID:???] ・ppmはActivePerlをインストールしただけでは使えない? 使える ・DBIとか落としてきてもどうやってインストールしたらいいのか分からない。 ppmを使う ・そもそもPerlの作業をどこで行ったらいいか分からない。 (コマンドプロントでuseをしてもなんにも起こらない←間違っている?) まずテキストエディタで書いて保存する ・つまるところプログラミングのイロハが分からない。 あっそ
580 名前:nobodyさん mailto:sage [2007/12/21(金) 01:37:26 ID:???] >>574 WebProgramingに無関係。板違い。誘導。 Perlについての質問箱 33箱目 pc11.2ch.net/test/read.cgi/tech/1192463997/l50
581 名前:574 mailto:sage [2007/12/21(金) 21:47:22 ID:???] >>580 ありがとうございます。 そちらにもスレがあったんですね。 ご迷惑をお掛けしました。
582 名前:nobodyさん [2007/12/22(土) 00:59:24 ID:+1+1pRnk] こんちは 8 9 10 ってファイル読み込んで 8 9 って出力するにはどう書けばよいですかね
583 名前:nobodyさん mailto:sage [2007/12/22(土) 01:26:23 ID:???] ふむ
584 名前:nobodyさん [2007/12/22(土) 02:11:54 ID:At3tOlJk] わかります?
585 名前:nobodyさん mailto:sage [2007/12/22(土) 03:40:10 ID:???] 10が必要ないのか二桁の物が必要無いのか 読み込んだファイルの三ツ目の物が必要無いのか 読み込んだファイルの最後の物が必要無いのか 条件が分からなければ判別のしようが無い
586 名前:nobodyさん [2007/12/22(土) 04:19:02 ID:At3tOlJk] 読み込んだファイルの最後の物が必要無い です ほんとありがとうございます(泣)
587 名前:nobodyさん mailto:sage [2007/12/22(土) 21:44:20 ID:???] 8 9 10ってのはファイルの内容か?ファイルの名前か?・・・まあ内容だろうな。 8 9 10ってのは毎回8 9 10なのか?・・・毎回同じってわけじゃないだろうな。 区切りはスペースだけ?タブも?ファイルの中に改行はあるの?
588 名前:nobodyさん mailto:sage [2007/12/22(土) 22:22:37 ID:???] 質問だけ見てもきみにゃPGは向いてないことが分かるからやめとけ
589 名前:nobodyさん [2007/12/23(日) 04:25:06 ID:nSEv05U9] ごめんやめない がんばる 8 9 10ってのはファイルの内容で 8 9 10ってのは毎回同じってわけじゃないです。 区切りはスペースだけ
590 名前:nobodyさん mailto:sage [2007/12/23(日) 05:02:25 ID:???] 自分で作る気があるなら、どこまで作ったか晒せ。 自分で作る気がないなら、仕様をまとめなおして、↓こっちで聞け。 Perlでリクに答えるスクリプトを作るスレ pc11.2ch.net/test/read.cgi/tech/1086143976/l50
591 名前:nobodyさん mailto:sage [2007/12/23(日) 08:20:22 ID:???] 返答の意図が分かってないだろ。 まず基礎を学べ。 んですぐ人に答えを求めようとせず頭使って考えれ。
592 名前:nobodyさん [2007/12/23(日) 10:02:40 ID:01+8BPxk] 半年ぶりに書こうと思ったら驚くほどPerlに関する記憶が飛んでる 記憶をよみがえらせる方法を教えてくれ
593 名前:nobodyさん mailto:sage [2007/12/23(日) 10:05:44 ID:???] とりあえずスクリプト眺めたり、ちょっと書いたりしてるうちによみがえるんじゃね? それができないなら、アルツハイマ−かもしれないから病院に逝ったほうがいいな
594 名前:nobodyさん [2007/12/24(月) 01:41:03 ID:yCHoznYX] 漏れも吹き飛んだ 1からじゃ何も書けなくなったw
595 名前:nobodyさん mailto:sage [2007/12/24(月) 07:17:33 ID:???] PerlとPHPで開発してると、やっぱりPerlの方が書きやすいな。 PHPなのに、気がついたら途中からPerlになってたよw
596 名前:nobodyさん mailto:age [2007/12/24(月) 12:07:01 ID:???] 質問です。 ファイルをオープンし、それを一旦最後まで読み込んだ後、 またそのファイルを最初から読み取りを行いたい場合は、 一度ファイルを閉じるしか方法がないのでしょうか。 ファイルで閉じたり開いたりを多く行うと、処理が重くなったり、 ファイルの競合で問題が起きるので、出来れば避けたいのですが。 <コーディングの例> # ファイルを開く open ( FL, "dat.csv" ); # ファイルを最後まで読む。 while( $line = <FL> ){ # 何らかの処理 } close( FL ); open ( FL, "dat.csv" ); # ファイルを最後まで読む。 while( $line = <FL> ){ # 何らかの処理 } close( FL );
597 名前:nobodyさん mailto:sage [2007/12/24(月) 12:52:16 ID:???] ファイルの競合で問題ってのが意味わからんが やりたいことはseekでできる
598 名前:596 mailto:sage [2007/12/24(月) 13:19:13 ID:???] >>597 seekで検索してみたところ、すぐに見つかりました。 ありがとうございました。 ファイルの競合で問題というのは、ファイルのロックで 解決することなので、ここでは関係ありませんでした。
599 名前:nobodyさん mailto:sage [2007/12/24(月) 16:29:55 ID:???] Perl5からオブジェクト指向が導入されたということですが、 Perlのプログラマーは、オブジェクト指向プログラミングを メインで行っているのでしょうか。 それとも、処理速度や安定性、多くの環境下で動く、Perl4互換の 構造化プログラミングをしているのでしょうか。 多くの方はどちらでやっているのかを知りたいです。
600 名前:nobodyさん mailto:sage [2007/12/24(月) 16:54:59 ID:???] >それとも、処理速度や安定性、多くの環境下で動く、Perl4互換の >構造化プログラミングをしているのでしょうか。 の部分が突っ込みどころ満載だが、それは使っていくうちに知ってもらうことにして、 とりあえず、Perl5が出てから10年以上たっているので、Perl4の互換性を気にする必要は全くない。 オブジェクト指向も、使いたくないなら使わなくていい。
601 名前:nobodyさん mailto:sage [2007/12/24(月) 17:02:48 ID:???] >>600 ありがとうございました。
602 名前:nobodyさん mailto:sage [2007/12/24(月) 17:22:38 ID:???] >>599 「多くの方」はダウソしたcgiをうpしてパーミッション設定するだけだろ。 中途半端な知識でオブジェクト指向を目指すと余計に意味わかんないプログラムになる。 オブジェクト指向の考え方とPerlでのオブジェクト指向の実装方法を十分理解してないなら オブジェクト指向に手を出さない方が良い。
603 名前:nobodyさん mailto:age [2007/12/25(火) 10:20:04 ID:???] >>602 レスありがとうございます。 ちょっと確認をしたくて質問なのですが、 PerlでCGIを行う場合に限定すると、サーバのメインメモリにいつまでも 情報が残るわけではないので、オブジェクト指向プログラミングは、 状態の保存などを生かしたものというより、モジュール化を行い、 関数名やグローバル変数名が競合するのを防ぐ程度の意味合いしかないように 思うのですが、この解釈はあっているのでしょうか。
604 名前:nobodyさん mailto:sage [2007/12/25(火) 11:34:27 ID:???] それはオブジェクト指向プログラミングの利点の1つではあるが全てではない。 かといって全部ここに書いてるとキリが無いからググってこい。 っていうか結局何が知りたいんだ? どんな答えが欲しいんだ?
605 名前:nobodyさん mailto:sage [2007/12/26(水) 06:07:36 ID:???] サーバのメモリにいつまでもプロセスとして残る場合もあるよ。
606 名前:nobodyさん [2007/12/26(水) 12:46:37 ID:SU+LBgfr] perlで最規模なCGIゲーム(有名な箱庭やFFA以上)を作ろうと猛勉強してるのですが まったくの初心者なのでサーバーに対する負荷とかまったく考えていませんでした。 そこで疑問点が3つあります。 ・MySQLが軽いとかよく聞くのですが、 本気でCGIゲームを開発する場合サーバーの負担を抑えるためどういう勉強をしていったほうがいいのでしょうか? ・perlではなくphpのほうに切り替えたほうがいいのでしょうか? ・プログラムを書き終えてperl or phpを実践した後でもMySQLに対応するのは簡単なんでしょうか? (難しそうなのでperl or php→MySQLではなくプログラムを書き終えた後にMySQLをやったほうが モチベーションも保てるかと思って。) phpの話題もでてますが、今はperlのほうを勉強していてこちらのほうが聞きやすいと思って。 よければご教授よろしくお願いいたします。
607 名前:nobodyさん [2007/12/26(水) 12:52:25 ID:SU+LBgfr] ×最規模→○大規模
608 名前:nobodyさん [2007/12/26(水) 14:37:40 ID:9oL1uy7O] レンタル掲示板などで、 www. ○○.com/?uid=▲▲▲ 見たいなURLがあるのですが これを http://▲▲▲.○○.com/ にしたいと思っています。 これを実現するにはどのような手段が用いられるのでしょうか? ご指導や参考URLを頂ければ幸いです。 よろしくお願いします。
609 名前:nobodyさん [2007/12/26(水) 18:35:59 ID:8VJWqxjl] >>606 すいません prog板初心者スレで聞いてみます、スレ違いだったかな
610 名前:nobodyさん mailto:sage [2007/12/26(水) 22:20:24 ID:???] >>608 perlよりもウェブ鯖で変換した方がいい apacheならmod_rewriteとかを使う
611 名前:nobodyさん mailto:sage [2007/12/27(木) 14:37:45 ID:???] >>604 ありがとうございます。 聞きたかったのは、Apache + Perl でプログラムする際、 オブジェクト指向で組むと、利便性があがるかどうか、 という点です。 ネット上のサンプルソースでも、オブジェクト指向 で組まれていなかったので、何らかの理由があり、 さほど利便性がないのかと思ったのです。 できましたら、この、「何らかの理由」もあわせて 回答をいただけたらと思っています。 オブジェクト指向一般の利便性については、自分で調べますが。
612 名前:nobodyさん mailto:sage [2007/12/27(木) 14:43:25 ID:???] >>605 それは、サーバのエラーや、Perlなどのプログラムミスによる ものということですよね? そのメモリに残ったプロセスを利用してということは ないと解釈していたのですが。
613 名前:nobodyさん mailto:sage [2007/12/27(木) 15:08:55 ID:???] >>612 mod_perl + DBI なんかでは、コネクションプーリング出来たりとか そんなんじゃないのかね?
614 名前:nobodyさん mailto:sage [2007/12/27(木) 17:41:06 ID:???] perlにて、「use strict」を書くとエラー(500)となってしまいます。 これをコメントアウトすると、正常に動いていますので、 パーミッションなどの設定が原因ではないと思います。 疑われる部分はどんなことがあるのでしょうか。
615 名前:nobodyさん mailto:sage [2007/12/27(木) 17:46:33 ID:???] すみません。質問です。 package関連の記述方法についてです。 定義したクラスのメソッドにおいて、そのクラスがもつ別のメソッドを 呼び出すということは出来ないのでしょうか。 package ClassA; sub funcA{ print "test"; } sub funcB{ &funcA; } などと記述してみたのですが、エラーがでてしまいます。 &ClassA::funcA; としてもダメでした。
616 名前:nobodyさん mailto:sage [2007/12/27(木) 17:57:54 ID:???] 全角スペースでインデント(字下げ)したらエラーになるよ
617 名前:nobodyさん mailto:sage [2007/12/27(木) 19:24:37 ID:???] >>614 error_logにみんな書いてある。
618 名前:nobodyさん mailto:sage [2007/12/27(木) 19:37:01 ID:???] >>616 全角スペースでインデント(字下げ)してるのは、2chで 見やすくするためです。先頭に半角だと無視されますからね。
619 名前:nobodyさん [2007/12/27(木) 21:40:34 ID:HdAuax/Z] >>593 うむ。書くしかないよな
620 名前:nobodyさん mailto:sage [2007/12/27(木) 23:08:07 ID:???] >>615 最後に 1; を書いてみ
621 名前:nobodyさん mailto:sage [2007/12/28(金) 00:51:11 ID:???] >>620 レスありがとうございます。 最後に「1;」は書いてます。 メソッド呼び出し部分をコメントアウトすると 動作はするので、メソッド呼び出し部分がおかしいのでは、 と思うのです。 メソッド呼び出しを記述すると、動きはするのですが、 そこで停止してしまうのです。 念のための確認ですが、同じクラス内のメソッド呼び出しの 記述方法はこれであっているとみてよいのでしょうか。 それとも、「ClassA::funcA」などと記述すべきなのでしょうか。
622 名前:nobodyさん mailto:sage [2007/12/28(金) 02:36:45 ID:???] >>621 ウチの環境で、上のコードそのままやってみたけど、 &funcB(); で、ちゃんと'test'と出力されたべ。 呼び出し側のスクリプトの問題じゃないのかな? 以下呼び出し側。 use ClassA; ClassA::funcA(); ClassA::funcB(); ---出力---- test test 環境 WinXp SP2 ActivePerl 5.8.8-build822 This is perl, v5.8.8 built for MSWin32-x86-multi-thread
623 名前:nobodyさん mailto:sage [2007/12/28(金) 02:51:08 ID:???] >>611 ていうかオブジェクト志向のメリット、デメリットを勉強すれば ネット上のサンプルソースの例が少ない理由はすぐわかる。
624 名前:nobodyさん mailto:age [2007/12/28(金) 13:27:40 ID:???] 質問です。 継承に関して、ネットを調べていると、コードの書き方が 2通りあるようですが、これはどういう解釈をしたらよいのでしょうか。 ClassAが継承もととなる場合 use base qw( ClassA ); @ISA = qw ( ClassA ); use base qw()を使う方法 www15.plala.or.jp/h-kihara-home/prog/perl/ooperl.html www.rwds.net/kuroita/program/Perl_oo.html#base @ISAを使う方法 www.rfs.jp/sb/perl/04/03.html bulknews.net/lib/mailmag/22/mag.txt 一方の書き方が古いという類なのでしょうか。 それとも、継承においては特に出てこない、何か違う意味が 含まれているのでしょうか。 お願い致します。
625 名前:nobodyさん mailto:sage [2007/12/28(金) 14:37:39 ID:???] 今までVisual Basic や java をやってきていた者です。 Perlの場合以下のようにドキュメントとしてコーディング規約は まとめられてないのでしょうか。 www.objectclub.jp/news/community/codingstandard/
626 名前:nobodyさん mailto:sage [2007/12/28(金) 18:56:10 ID:???] >>624 perldoc base >>625 ない
627 名前:nobodyさん mailto:sage [2007/12/29(土) 00:20:43 ID:???] >>622 もう一度0からコードを書き直してやってみたら 動きました。 何が悪かったのだろう・・・ 全角スペースが入ったりしていると、赤く表示が出る エディタを使っているのですけどね。 原因が分かりませんが、質問の内容は解決しました。 ご迷惑をおかけしました。
628 名前:nobodyさん mailto:sage [2007/12/29(土) 09:32:18 ID:???] >>623 Perlのオブジェクト指向を調べてみたのですが、なんだか 完全にオブジェクト指向に対応した言語ではなく、 package や ハッシュ を用いて工夫してオブジェクト指向を 実現してるみたいなものですね。 メンバやメソッドにも外部からのアクセス制限をかけたり 出来なさそうだし。 PerlをCGIでやる場合は、まず、GETやPOSTを取得して どの関数に飛ぶのかを判定し、その関数を書いていくという 処理しかないので、構造化とさほどかわらないのかもと思いました。 ありがとうございました。
629 名前:625 mailto:sage [2007/12/29(土) 11:06:25 ID:???] >>626 どうしてないのでしょうか。 Perlは歴史が長い分、何かノウハウを集めたものがあるかと思ったのですが。
630 名前:nobodyさん mailto:sage [2007/12/29(土) 11:19:00 ID:???] >>629 オマエが作れよ 俺は無視するが
631 名前:nobodyさん mailto:age [2007/12/29(土) 14:02:28 ID:???] ハッシュを宣言し、それを関数に渡す処理をしたいのですが、 Perlのサイトにはそのサンプルが載っていなかったので、 自分なりにコードを書いてみました。 ttp://www.rfs.jp/sb/perl/02/05.html ttp://www.site-cooler.com/kwl/perl/4.htm 関数に渡すときのコードの書き方や、受けるときのコードの書き方において、 これが偶然動いているだけなのか、不安になって質問してみました。 書き方は基本的にこれで良いのでしょうか。 やりたいことは、「ハッシュと数値を受け取り、処理を行う関数を 定義すること」です。 sub tt(){ my %t = @_; print $t{"水"}; print "\n"; print $_[1]; } %c; $c{"月"} = 1; $c{"火"} = 2; $c{"水"} = 3; &tt(%c,1);
632 名前:nobodyさん [2007/12/29(土) 15:00:37 ID:CoF2fqIA] sub tt { my ($t,$n) = @_; print $t->{"水"}; print "\n"; print $n; } %c; $c{"月"} = 1; $c{"火"} = 2; $c{"水"} = 3; &tt(\%c,1);
633 名前:631 mailto:age [2007/12/29(土) 15:52:15 ID:???] >>632 すばやいレスありがとうございます。 いろいろ試してみて気づいたのですが、$_[1]としても、 2番目に指定した引数が取れるわけではないのですね。 今回は偶然$c{"月"}の1が表示されていただけなのには 気づきませんでした。 あと、ハッシュを関数に渡す場合は参照渡しの方が良いのですね。 非常に助かりました。
634 名前:nobodyさん mailto:sage [2007/12/29(土) 17:19:50 ID:???] >>626 さんくす
635 名前:nobodyさん mailto:sage [2007/12/29(土) 20:00:55 ID:???] >>629 Perlベストプラクティス
636 名前:nobodyさん mailto:sage [2007/12/29(土) 20:26:23 ID:???] >>629 理由は大まかに言って、 ・ コーディングの自由度の高さこそがPerlの特徴 → コーディング規約で縛ったらPerlらしくない ・ Perlのコーディングスタイルとしてキーストロークをいかに減らすかを重視するスタイルが存在する → キーストロークを減らす派にとってコーディング規約なんて邪魔以外のなにものでもない ・ スクリプト言語なので元の用途は自前のツールをお手軽に作る事だった → 自分専用の道具を作るのにJIS規格とかを気にするヤツはいないのと同じでコーディング規約なんてキニシナイ ・ スクリプト言語はコンパイラ言語と違って大規模開発に向いてないと信じられていた → 小規模ならコーディング規約なんていらない。 って感じだな。 プロセッサも高性能化し、スクリプト言語でも十分に大規模開発が可能になったが、 ・ 未だにキーストロークを減らす派の存在が大きい ・ CPANなど充実したライブラリの存在で実際にコーディングする量はそれほど増えてない って理由から、わざわざコーディング規約を決めようとする動きも存在しないわけ。 使いたいものが、この世に存在しないなら自分で作ればいい。 もし、藻前さんがPerlのコーディング規約が欲しくて作るというなら、 目を通して意見を言うぐらいの手伝いはこのスレの人もやってくれると思う。 まあ、使う人がそんなにいるとは思えないが。
637 名前:629 mailto:sage [2007/12/30(日) 19:23:31 ID:???] >>636 詳細な説明のレスありがとうございます。 自分でもPerlについて調べていたのですが、似たようなことが書いて ありました。自由度の高さが売りなので、逆に規約が無いということ ですね。納得しました。(TMTOWTDIと呼ぶみたいですね。) スクリプト言語関連の部分は調べた範囲ではなかったので、非常に 参考になりました。歴史的な経緯もあるのですね。 私は今までVBなどをやっていたので、Perlの規約が無いのには違和感を 感じますが、自分がなれている独自の規約で書いていこうと思います。 こうなると、コーディング規約よりも「こういう場合はこういう コードを書くと便利だ」といった、Tips系のものを集めた方が よさそうな気もしました。 例:POSTで受け取ったデータは、foreachを用いてハッシュに入れると良い。 この方法のメリットは〜〜。デメリットは〜〜。 詳しく考えがまとまったらまた相談します。ありがとうございました。
638 名前:nobodyさん mailto:sage [2007/12/30(日) 20:27:22 ID:???] >>637 use CGI; my $q = new CGI; print $q -> param( 'hoge' ); これよりも簡単に書けるなら使ってやる。
639 名前:629 mailto:sage [2007/12/30(日) 20:56:34 ID:???] cgi.pmというのがあったんだ。知らなかった。 今まで読んでたサンプルソースにはそんなのが なかったので知らずに全部コード自作してたよ。orz
640 名前:nobodyさん mailto:age [2007/12/31(月) 10:57:08 ID:???] CGIの実行を制限する方法についての質問です。 例えば、2ちゃんねるは、別のサイトやローカルPCに保存したhtmlファイル から「書き込む」をしてもエラーが出て受付けない仕様となっていますが、 こういった不正な入力を防ぐには、具体的にどういったコードを書いたら よいのでしょうか。環境変数あたりで判断して行うのでしょうか。
641 名前:nobodyさん mailto:sage [2007/12/31(月) 15:09:23 ID:???] 一番簡単な方法は環境変数だわな if ($ENV{'HTTP_REFERER'} !~ m!^\Qhttp://俺のサーバ/cgiのパス\E!) { # 外部から書くな氏ねハゲ池沼ボダ抱いて } みたいなかんじで
642 名前:nobodyさん mailto:sage [2007/12/31(月) 15:48:47 ID:???] 先ほどスレ違いをしてしまったので .cgi .plのスクリプトを使いたいのですが どうすれば実行されるのですか? クリックしても.exe .batみたいに動かないし… やり方を教わったのですが 意味がわからないし… 教えてください お願いします
643 名前:nobodyさん mailto:sage [2007/12/31(月) 15:51:39 ID:???] >>642 って何?いろんなところにコピペしてるのかな? pc11.2ch.net/test/read.cgi/php/1187729623/443
644 名前:640 mailto:age [2007/12/31(月) 19:09:34 ID:???] >>641 レスありがとうございます。 書き込みをみて、$ENV{'HTTP_REFERER'}をキーワードで 検索をしてみたのですが、書き方は何種類かパターンが あるのが分かりました。 $site = "http://俺のサーバ/cgiのパス"; if($ENV{'HTTP_REFERER'} !~ /$site/i) if($ENV{'HTTP_REFERER'} !~ /^$site/) この書き方においては、これが一番いいなという結論のような ものはないのでしょうか。 改行コードの変換の仕方の解説で、こういったサイトを 読んだことがあるので、ちょっと不安になって聞いてみました。 ttp://www.din.or.jp/~ohzaki/perl.htm#CRLF_Unify
645 名前:638 mailto:sage [2008/01/02(水) 18:35:41 ID:???] >>639 まぁ、おいらも最初は自作してたんだし。 それに、自作したからこそ理解できた部分もあるだろう? 心配するな。みんな同じ道を歩んできた。 >>640 参照元は偽装できるから、セッション利用するのがいいかもね。
646 名前:640 mailto:age [2008/01/04(金) 00:25:33 ID:???] >>645 ヒントありがとうございます。調べてみます。
647 名前:nobodyさん mailto:sage [2008/01/04(金) 14:22:05 ID:???] 確認ですが、CGI.pm のモジュールでは、FORMタグを書いた際に 改行されないようにするのが出来ないですよね? 具体的には、↓これをFORMタグ内に記述したりするものです。 style="float:right" 改行されるのが嫌ならば、FORMタグをTABLEタグの外で記述すれば いい話ではありますが、デザインの都合上でそれが出来ないケースの話です。
648 名前:nobodyさん mailto:sage [2008/01/04(金) 15:55:01 ID:???] >>647 馬鹿じゃないの?
649 名前:nobodyさん mailto:age [2008/01/04(金) 15:56:37 ID:???] かなり初級的な質問ですが、お願い致します。 Perlの場合は、配列と数値を引数で渡すことは出来ないのでしょうか。 例えば、以下のような感じで、@a を @n1 へ、そして、$i を $n2 で 受け取りたいのですが、$n2 値が表示されないのです。 sub FuncA(){ my( @n1, $n2 ) = @_; print "@n1[0]\n"; print "@n1[1]\n"; print "@n1[2]\n"; print "$n2"; } @a = ( "aaa", "bbb", "ccc"); $i = 3; &FuncA( @a, 3 );
650 名前:nobodyさん mailto:sage [2008/01/04(金) 16:19:57 ID:???] リファレンス
651 名前:649 mailto:age [2008/01/04(金) 16:42:27 ID:???] >>650 レスありがとうございます。 以下のように書き直してみたら、ちゃんと3が表示されましたが、 こういう渡し方をするしかないという意味合いですよね? sub FuncA(){ my( $n1, $n2 ) = @_; print "$n1->[0]\n"; print "$n1->[1]\n"; print "$n1->[2]\n"; print "$n2"; } @a = ( "aaa", "bbb", "ccc"); $i = 3; &FuncA(\@a,3);
652 名前:nobodyさん mailto:sage [2008/01/04(金) 17:41:36 ID:???] 他にもやりようあるけど それがいちばん簡単じゃない?
653 名前:649 mailto:age [2008/01/04(金) 20:24:38 ID:???] >>652 他のやりようとはどんなものなのでしょうか? キーワードのヒントでもいいのでお願いいたします。m(_ _)m
654 名前:nobodyさん mailto:sage [2008/01/04(金) 20:38:02 ID:???] すみません質問です。 「Perlは時代遅れだ。」という書き込みを読んでちょっと不安になったのですが、 Perlは本当に時代遅れなのでしょうか? レンタルサーバのサービスでは、低価格でもPerlは確実にサポートしているので、 システムを組む時や、別のサーバにシステムを移項するのには非常に やりやすいものであります。 COBOLがすたれたのは、Excelが出たからというのが一つの要因ですが、 私には、PerlにとってのExcelにあたるものが見当たりません。 なので、PerlはWebプログラミングとしては、まだまだ十分に 活用できる言語だと思っています。 もし、本当にPerlが時代遅れだとすると、PHPやJavaが特有で持っている機能が 必須となるわけですが、それらは具体的にどういう機能なのでしょうか。 よろしくお願い致します。
655 名前:nobodyさん [2008/01/04(金) 22:34:46 ID:zn9OWNdo] >>653 >>652 じゃないけど プロトタイプでできるよ sub hoge ($@) { my $foo = shift; my @bar = @_; } hoge($foo,@bar); たぶんこんな感じだと思う 普通に配列を後で渡せば受け取れるけどね。 $_[0]をshiftしちゃえば同じ事だと理解できればぉk
656 名前:nobodyさん [2008/01/04(金) 22:39:39 ID:zn9OWNdo] >>654 PHPに出来てPerlに出来ない事は無い。 たとえばPHPならDBとの連係が良いとか。 でも、web専門だったり。 javaは規模や対象から違う。 要は目指す所の違いだと思う。 Perlが汚いと思うならRubyやPythonをやれば良い
657 名前:nobodyさん mailto:sage [2008/01/05(土) 01:11:38 ID:???] アンチPerlの人は、時代遅れとか言って叩く。
658 名前:654 mailto:sage [2008/01/05(土) 02:15:25 ID:???] >>656 >>657 ご回答ありがとうございます。 目指すところの違いがあるんですね。 アンチは具体例を出さずにすぐに一般化して 否定しますしね。 安心しました。ありがとうございます。
659 名前:649 mailto:age [2008/01/05(土) 14:25:20 ID:???] >>655 レスありがとうございます。プロトタイプ使えばよさそうですね。 こちらでいくらかプログラムを書いてみたのですが、配列は 必ずあとじゃないとダメみたいですね。 FuncA($@) これだと動くのですが、 FuncA(@$) これだとダメでした。
660 名前:nobodyさん mailto:sage [2008/01/05(土) 18:18:51 ID:???] 質問です。 ナビゲーションバーが<li>タグで フォームがテーブルタグで囲む形で 出力されるテンプレートエンジン。 これは今風ではないでしょうか? 出力されたHtmlを読むと可読性が良さそうなので これで行こうと思っています。用途はテンプレート エンジンの勉強がてら簡易wikiでも自作してみよう と思ってます。どうぞよろしくお願い致しますm(__)m
661 名前:nobodyさん [2008/01/06(日) 01:12:32 ID:4ZDHflzT] ActivePerlにcpan Perl::Tidyしました cygwinからActivePerlを使っているのですが、 $ perltidy としてもcommand not found になります。 どうしたわけでしょう。 cygwin用のperltidyもあるときき、Cygwinからもcpan Perl::Tidyで入れてみましたが、 依然として $ perltidy command not found です。アドバイスください。ヒントでもいいのでお願いします。
662 名前:nobodyさん mailto:sage [2008/01/06(日) 05:36:20 ID:???] 昔俺もやった。確か bin にパスが 通ってないだけだったと思うけど。
663 名前:nobodyさん mailto:sage [2008/01/06(日) 11:16:43 ID:???] >>660 htmlタグの書き方について質問をしたいのであれば、 WebProg板ではなく、Web製作板の方へどうぞ
664 名前:nobodyさん [2008/01/06(日) 13:57:41 ID:4ZDHflzT] >>662 うまくいきました。ありがとうございます。
665 名前:nobodyさん [2008/01/06(日) 15:48:56 ID:srAiPMxF] 関数に配列を渡そうとしているのですがうまくいきません。 呼び出し側 p_html_kotaivew_kekkawrite ($name, @status, $ks, @han1, @han2, @sta1, @sta2); 関数側 sub p_html_kotaivew_kekkawrite{ local($name, @status, $ks, @han1, @han2, @sta1, @sta2) = @_; 〜〜以下略 このような感じにやると、渡した$name以降の配列がすべて@statusに格納されてしまいます。 アドバイスお願いします
666 名前:nobodyさん mailto:sage [2008/01/06(日) 16:21:21 ID:???] リファレンス渡しにしろ
667 名前:nobodyさん [2008/01/06(日) 16:47:29 ID:XbpFSz7R] >>666 リファレンス渡しをしてみましたが、やはり@statusに以降の配列がすべて格納されてしまいます。
668 名前:nobodyさん mailto:sage [2008/01/06(日) 17:03:52 ID:???] >>667 p_html_kotaivew_kekkawrite ($name, \@status, $ks, \@han1, \@han2, \@sta1, \@sta2); sub p_html_kotaivew_kekkawrite{ local $name = @_[0]; local @status = @{$_[1]}; local $ks = @_[2]; local @han1 = @{$_[3]}; local @han2 = @{$_[4]}; } local @sta1 = @{$_[5]}; local @sta2 = @{$_[6]}; }
669 名前:nobodyさん mailto:sage [2008/01/06(日) 17:04:32 ID:???] >>668 ブレスミスすまそ
670 名前:nobodyさん mailto:sage [2008/01/06(日) 17:26:06 ID:???] >>669 なるほどそのように記述すればよろしいのですね。 本当にありがとうございました
671 名前:nobodyさん mailto:sage [2008/01/06(日) 19:10:38 ID:???] >>668 ですでに回答は書いてあるけれど。。。 他の言語を先にやったものだと違和感を感じるものだが、perlの場合は、 関数は、スカラを先に書いて、配列を後に書いた方がいいというルールが あるようだ。
672 名前:nobodyさん mailto:sage [2008/01/06(日) 19:20:03 ID:???] ま、スライスを理解すればそれが普通に・・
673 名前:nobodyさん mailto:age [2008/01/06(日) 19:21:39 ID:???] すみません。質問です。 Perlで検索結果一覧を出すまでや、ファイルへ書き込みをした場合に 要した時間を計り、表示させたいのですが、どのような関数を 使用したらよろしいのでしょうか。
674 名前:nobodyさん mailto:sage [2008/01/06(日) 19:50:13 ID:???] >>673 my $t = time; 〜 #計測したい処理 my $t2 = time; my $sec = $2 - $1; print "$sec秒だったです";
675 名前:nobodyさん mailto:sage [2008/01/06(日) 19:51:41 ID:???] 訂正 × my $sec = $2 -$1; ○ my $sec = $t2 - $t1;
676 名前:nobodyさん mailto:age [2008/01/06(日) 19:58:47 ID:???] >>674->>675 すばやい回答ありがとうございました。
677 名前:nobodyさん mailto:sage [2008/01/06(日) 20:17:39 ID:???] 開こうとしているサイトのURLを入力し、危険なhtmlコードが 含まれているかをチェックするcgiサイトがありますが、 あれはどういう原理で動いているのでしょうか。 自分のサーバとは別の、他のサイトのhtmlファイルを読み込むという事は、 perlのopenでは出来ませんよね?
678 名前:nobodyさん mailto:sage [2008/01/06(日) 20:38:06 ID:???] Socket使うかLWPモジュール使うか
679 名前:nobodyさん mailto:sage [2008/01/06(日) 22:14:19 ID:???] 初歩的な質問ですが、サイトを読んでいてもいまいち分からなかったので こちらで質問させていただきます。 配列の1つの要素への処理の記述方法についてです。 以下のコードを記述しておいて、それに続くものです。 @a = ( "a1", "a2" , "a3" ); 記述1:$a[1] = "b2"; 記述2:@a[1] = "b2"; どちらの記述でも、思うように動作しているので、問題なさそうなのですが、 処理速度や、内部的な動きなどからいってこっちの記述が良いというものや、 多くの人のコーディングはこちらが多いから、などというものはあるの でしょうか。
680 名前:nobodyさん mailto:sage [2008/01/06(日) 22:15:19 ID:???] おま・・・
681 名前:nobodyさん mailto:sage [2008/01/06(日) 22:30:21 ID:???] cgiをブラウザで開いてテストしたいのですが、 ブラウザで開こうとするとエディタが開いてしまいます。 どうすればいいですか?
682 名前:nobodyさん mailto:sage [2008/01/06(日) 23:05:56 ID:???] >>678 ありがとうございます。 さっそくぐぐって見ます。
683 名前:nobodyさん mailto:sage [2008/01/06(日) 23:12:15 ID:???] >>681 必要な環境整えてる? Windowsならば、ActivePerlとApacheをいれて設定するとか、 設定したフォルダにcgiファイルをおいてるかとか。
684 名前:nobodyさん mailto:sage [2008/01/06(日) 23:28:59 ID:???] >>683 ApacheもActivePerlも入ってます。 ブラウザで開こうとするとエディタに実行結果が返ってきてるので フォルダ等も大丈夫だと思います。
685 名前:nobodyさん mailto:sage [2008/01/06(日) 23:31:53 ID:???] エディタに実行結果返ってきてるからってフォルダが正しいとは限らない気が・・
686 名前:nobodyさん mailto:sage [2008/01/06(日) 23:37:38 ID:???] 取り合えずやったことを書き出してみます。 #! c:/perl/bin/perl print "Content-type: text/plain\n\n"; print "Hello Perl !"; を1-1cgiとしてhtdocs/rensyuに保存してブラウザで127.0.0.1/rensyu/1-1.cgi を使って実行すると ファイルをダウンロードしてエディタが開いて実行結果が返ってきてるんですよね
687 名前:nobodyさん mailto:sage [2008/01/06(日) 23:39:11 ID:???] cgi-binに入れようよ・・・・
688 名前:nobodyさん mailto:sage [2008/01/06(日) 23:43:00 ID:???] >>686 httpd.conf の設定は確認してる? 参考にとほほのサイト紹介しておきます。 ttp://www.tohoho-web.com/wwwxx048.htm
689 名前:nobodyさん mailto:sage [2008/01/06(日) 23:49:36 ID:???] text/plainだからじゃないの
690 名前:nobodyさん mailto:sage [2008/01/07(月) 00:02:41 ID:???] >>687 参考にしてる本がhtdocsだったんですよね >>688 設定確認しましたが、大丈夫だと思います。 ちょっと試してみたんですが、 #! c:/perl/bin/perl # CGIヘッダーの出力 print "Content-type: text/html\n\n"; # HTMLの出力 print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n"; print "<html>\n\n"; print "<head><title>Hello HTML</title></head>\n"; print "<body><p>こんにちは。これはHTML文書の例です。</p></body>\n"; print "</html>"; だとブラウザに出力されました もうわけが分かりません >>689 ソースはテキストどおりなんですよね
691 名前:nobodyさん mailto:sage [2008/01/07(月) 00:23:35 ID:???] 何がわけわからんのだろう ブラウザの設定でtext/plainはエディタで開くようになってるんでしょ
692 名前:nobodyさん mailto:sage [2008/01/07(月) 00:41:55 ID:???] 自分もさっきApache入れたら同じ症状になって困ったが explorerの関連付けはずしたら正常になった
693 名前:nobodyさん mailto:sage [2008/01/07(月) 00:56:15 ID:???] >>691 ブラウザの設定なんですかね? ブラウザに関連付けしてみたらブラクラみたいになったんですが、 どういう設定をいじればいいんですか? >>692 .cgiへの関連付けを削除してみたら ブラウザから開こうとしたら このファイルを保存しますか、または開くためのプログラムをオンラインで検索しますか?と でてきました。 よければ現状、何に関連付けされてるか教えてもらえないですか?
694 名前:nobodyさん mailto:sage [2008/01/07(月) 01:06:33 ID:???] >>690 どうしてもhtdocs内で実行させたいなら <Directory ******/htdocs> Options ExecCGI </Directory> みたいにExecCGI追加して AddHandler cgi-script .cgi みたいに設定ファイル(httpd.conf)を書き換えて再起動して味噌
695 名前:nobodyさん mailto:sage [2008/01/07(月) 01:14:15 ID:???] >>693 まったく関連付けなし。 ってか>>688 のサイトにあった、>>694 の設定をしたら 関連付けしても普通に動くようになったぞ
696 名前:nobodyさん mailto:sage [2008/01/07(月) 01:17:32 ID:???] >>693 関連付けはいじらずにtext/htmlで書き出せばどうだい あと関連付けするのはcgiじゃなくてtxtだと思う
697 名前:nobodyさん mailto:sage [2008/01/07(月) 01:39:40 ID:???] <Directory "C:/ApacheGroup/Apache2/htdocs"> Options +ExecCGI AddHandler cgi-script .cgi </Directory> を付け加えてもダメでした・・・ エディタは開かなくなったんですが、一瞬プロンプトの画面が見えたと思ったら消えて、 ブラウザにはWeb ページへのナビゲーションは取り消されましたってでてしまいます >>696 htmlで書き出すとブラウザにでるんですけど、テキストがplaneで出力できてるんで自分の設定がなにかおかしいところがあると思うんですよ だからそれを解決しとかないと・・・と思うんですよ。
698 名前:nobodyさん mailto:sage [2008/01/07(月) 09:36:39 ID:???] >>697 もう一度よ〜〜〜く見るんだ。 ”Content-type: text/plane” じゃあ、 そりゃ「そんな mimetype わしゃ知りません」ってIEがおっしゃるよ。
699 名前:nobodyさん mailto:sage [2008/01/07(月) 09:53:12 ID:???] 初心者はapacheじゃなくてanhttpd使った方がいいぞ。 たぶんapacheの設定で失敗してるはず。
700 名前:nobodyさん mailto:age [2008/01/08(火) 17:54:44 ID:???] 【質問】 レンタルサーバでCGIでプログラムを動かしているのですが、 処理を行う際のサーバの負荷が気になるので、>>674-675 に 書いてある方法を使用し、常に処理にかかった時間を 表示するようにしています。 ある関数を動かした際、普段の処理時間は1〜2秒なのですが、 ネットが異常に遅い時に同じ処理をした時、10秒ほどかかりました。 この処理にはhtml出力が入っているのですが、CGIのhtml出力は、 CGIで処理した結果すべてをまとめてクライアントPCのブラウザへ 流しているものだと思っていましたが、仕組み的にはそうではない ということなのでしょうか。 それとも、私の使用している計測方法が誤っているのでしょうか。 何かこういうのを調べてみろ、みたいなヒントでも良いので よろしくお願いします。
701 名前:nobodyさん [2008/01/08(火) 19:20:06 ID:b1r9jep2] perl -Mでシンボルをインポートするにはどうしたらいいですか。 perldocしましたが見つかりませんでした。
702 名前:nobodyさん mailto:sage [2008/01/08(火) 19:21:24 ID:???] >>700 検索→[Perl フラッシュ]
703 名前:nobodyさん mailto:sage [2008/01/08(火) 20:25:03 ID:???] >>700 times関数ってのがあるよ
704 名前:700 mailto:sage [2008/01/09(水) 00:13:41 ID:???] >>702 >>703 ありがとうございます。 早速調べてみます。
705 名前:701 [2008/01/09(水) 06:38:37 ID:g0MHwkoX] >>701 お願いいたします。
706 名前:nobodyさん mailto:sage [2008/01/09(水) 07:18:12 ID:???] >>700 時間計測をやめて少しでも処理を減らすが吉
707 名前:nobodyさん mailto:sage [2008/01/09(水) 23:13:03 ID:???] 現在、データを複数のテキストファイルに書き込む処理を するかたちでプログラムを組んでいます。 この複数のファイルは、丁度テーブルに見立てた設計に しており、主キーで連携を取っています。 しかし、データがテキストファイルであるため、データの 取り扱いに不便を感じる場合もあります。 ソートをする際、すべてのデータを変数に読み込んだり 出来ない場合は、ソートをしながら別のファイルに 書き込むといった感じです。 こういう、データを記録するのに丁度良いモジュールという ものはないのでしょうか?? ま、データベースを使えばという話になるのでしょうが、 レンタルサーバなどの環境でそこまで準備が出来ない場合の話です。
708 名前:nobodyさん mailto:sage [2008/01/09(水) 23:25:07 ID:???] >>707 無料レンサバでもDB使えるとこ結構ある。
709 名前:nobodyさん mailto:sage [2008/01/10(木) 02:06:12 ID:???] # フォームデータの取得 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); コレを入れるとエラーがでてしまうんですが、どこが悪いんですかね?
710 名前:nobodyさん [2008/01/10(木) 02:09:13 ID:YdP4IGcZ] 閉じ中カッコがない
711 名前:nobodyさん [2008/01/10(木) 19:24:04 ID:Ea25ozf2] 引数を作るにはどうしたらいいんですか? index.cgi?---- みたいな感じのです。
712 名前:nobodyさん mailto:sage [2008/01/10(木) 19:44:52 ID:???] >>707 つ DBD::CSV
713 名前:nobodyさん mailto:sage [2008/01/10(木) 19:46:08 ID:???] >>711 つ[ ttp://www.futomi.com/lecture/form/cgi-pm.html#s3 ]
714 名前:nobodyさん [2008/01/10(木) 21:21:19 ID:YdP4IGcZ] 5.10にしないと入れられないモジュールを入れるにはどうしたらいいですか 5.8.8からcpanコマンドで入らないです
715 名前:nobodyさん mailto:sage [2008/01/11(金) 02:44:48 ID:???] >>712 make make install
716 名前:nobodyさん [2008/01/11(金) 18:21:27 ID:PVnoyiBC] C++,JAVAを児戯並みに使えるパーラー見習いですが、 最近パールの良さがわかってきました さてWindows上のGUIアプリケーションを作るのには向いてますか? モジュールはちらほら見かけましたし実際作ってみましたが、やり方が悪いのかうまくいきません どうも腑に落ちません 実際作ってみてどうですか?
717 名前:nobodyさん mailto:sage [2008/01/11(金) 21:00:50 ID:???] Tkはモジュールの近い方覚えれば何でも作れるけど、ローカルサーバー立ててCGIで済ましちゃうことが多い。 Win32はシラネ
718 名前:nobodyさん mailto:sage [2008/01/11(金) 22:16:12 ID:???] >>716 WindowsのGUIアプリならば、VBなどがあるのにあえてPerlを 選ぶ理由は何? 企業が使う業務システムではVBが圧倒的に多い理由を考えると、 と思うけれど。
719 名前:nobodyさん mailto:sage [2008/01/12(土) 03:37:57 ID:???] >>716 Perlのよさがわかってないと思います
720 名前:nobodyさん mailto:sage [2008/01/12(土) 03:49:51 ID:???] Rubyまじお勧め
721 名前:nobodyさん mailto:sage [2008/01/12(土) 14:37:13 ID:???] Rubyは1.8でオワタ
722 名前:nobodyさん mailto:sage [2008/01/12(土) 16:29:39 ID:???] Perlではソースコードの圧縮(空白やコメント除去)があまり行われないのはなぜですか?
723 名前:nobodyさん mailto:sage [2008/01/12(土) 17:15:04 ID:???] pc11.2ch.net/test/read.cgi/php/1036141603/l50 ここでソースコードの圧縮やってるよ
724 名前:nobodyさん mailto:sage [2008/01/12(土) 20:57:02 ID:???] ティムトゥディだからさ
725 名前:nobodyさん [2008/01/13(日) 01:39:09 ID:EtYE9LoZ] CPANモジュール名のリストがあるときに、それらを自動でインストールするには どうしたらいいですか?
726 名前:nobodyさん mailto:sage [2008/01/13(日) 08:37:57 ID:???] Windowsならバッチファイルにする Linuxはしらね
727 名前:nobodyさん mailto:sage [2008/01/13(日) 12:51:10 ID:???] パール六は全然違うとしきりに言う同僚がいて不安感が煽られています 当方パール入門したでして…覚えたばかりの知識が海のもずくになると思うと… しかし実際のところあと3年はPerl5の知識が使えるんですかね? そのPerl6とやらがいつ出るかも知らないので(公式サイトを検索しまくっても見つからなかった 私はバカですか?)何とも言えない状況です あと移行はいきなりなんでしょうか、5.12を過ぎて6になった途端に様変わりしちゃったらすごく困ります^-^;
728 名前:nobodyさん mailto:sage [2008/01/13(日) 13:46:17 ID:???] デフォでuse strictとか、正規表現の記述が変わるとか、ソレぐらいしかしらね。
729 名前:nobodyさん mailto:sage [2008/01/13(日) 14:45:25 ID:???] 変更点を把握すれば何も問題ないだろ
730 名前:nobodyさん mailto:sage [2008/01/13(日) 16:08:40 ID:???] Rubyの仕様変更に比べればどうってことない
731 名前:nobodyさん mailto:sage [2008/01/13(日) 17:03:12 ID:???] >>727 ま、こういうのはどの言語でもふつうにあることなんじゃないかな。 そういうのについてこれないのは、技術者として終わりみたいな。 今でも N88BASIC とか COBOL とかで組んでる人っていないだろ? > しかし実際のところあと3年はPerl5の知識が使えるんですかね? > あと移行はいきなりなんでしょうか これは、ケースバイケースなのではっきりとはいえない。 例えば、過去の資産を活かしたシステムを構築する場合は、Perl5で 構築するだろうし。 あと、安定性も考えて、いきなり新しくはしないケースもある。 システムは、早く作れることも大事だけど、安定して動くことが 大事なのだから。 個人的に思うのだけど、大幅な仕様変更をするのに、いつまでも 前の名前を使い続けるから紛らわしくなるんじゃないかなと思う。 Perl は 5 で完成形であり、それで終わり。役割は果たした。 そして、新しい言語が出る。とした方が分かりやすいと思うのだが。
732 名前:nobodyさん mailto:sage [2008/01/13(日) 17:13:18 ID:???] 安定性を無視して、やたらと新機能を追加させることに 固執している言語があるが、あれよりマシだと思う。 大幅に仕様変更していて、ユーザがついてこなかったから、 やっぱり戻したとか。 仕様変更をしすぎて、別の言語と非常に似ていて その存在自体が意味無いものに見えるとか。
733 名前:nobodyさん mailto:sage [2008/01/13(日) 20:48:32 ID:???] >>732 PHPのことか。 zendはphp4のサポートを終わらせて無理やり5に移行させたがっているが、4の開発メンバーは今は6を作ってるらしいからそれ待ちだ。
734 名前:nobodyさん mailto:sage [2008/01/14(月) 03:03:11 ID:???] なんでPHPやねんw
735 名前:nobodyさん [2008/01/14(月) 03:20:58 ID:h4dQ9PIo] 日本のPHPの人気ぶりは異常 海外サイトではPHPなんて全く持ち上げられてない んで、何がいいたかったかというとPerl最高
736 名前:nobodyさん mailto:sage [2008/01/14(月) 09:05:00 ID:???] ということにしたいんですね
737 名前:nobodyさん mailto:sage [2008/01/14(月) 09:50:52 ID:???] 日本のウォシュレットの人気ぶりは異常 海外サイトではウォシュレットなんて全く持ち上げられてない んで、何がいいたかったかというと温熱最高
738 名前:nobodyさん mailto:sage [2008/01/14(月) 12:36:17 ID:???] PHPのプロジェクトに放り込まれて、担当モジュール作ったけど、他のモジュールが遅れてたので、暇つぶしにPerlで全部作ったら怒られた。 Rubyのほうが良かったですか?って聞いたら余計に怒られた。 なんで?
739 名前:nobodyさん mailto:sage [2008/01/14(月) 13:25:17 ID:???] KY社員は死ね
740 名前:nobodyさん mailto:age [2008/01/14(月) 14:50:02 ID:???] レンタルサーバにて、Perlを使ってPostgreSQLに接続し、 その内容をhtml出力するところまでやっと出来たくらいの知識の者です。 そこで、普段のバックアップはどういう仕組みでやるとよいのか 迷いましたので、こちらで質問してみました。 私としては、Perlで、データベースのテーブルとテキストファイルと をコンバートするプログラムを自作し、定期的に手動(FTPソフトを 使うなどして)でローカルにファイルを保存しておく方法くらいしか 思いつきませんでした。しかし、それだと普段の作業に非常に 手間がかかってしまいます。 一般的に、レンタルサーバでPerl+PostgeSQLのWebシステムの バックアップは、このような方法を取ることが多い、みたいなものは あるのでしょうか。よろしくお願いします。
741 名前:nobodyさん mailto:sage [2008/01/14(月) 18:56:43 ID:???] SSHでpg_dump
742 名前:nobodyさん mailto:sage [2008/01/14(月) 19:46:06 ID:???] >>741 Postgresqlの定番のバックアップの方法ですよね。 それしかないのでしょうかね。
743 名前:nobodyさん [2008/01/16(水) 10:57:33 ID:Z4nycbhz] パールでWebプログラミングしようかと思っております。 が、セキュリティーが不安です。 レンサバでやるにせよ、セキュリティーに穴があって攻撃されると いろんなトラブルがあるんでしょ? 当方、素人の趣味でやってるプログラミング歴まだ1年のプログラマーなもので そのあたりを実際に企業で開発した経験が当然なく不安です。 セキュリティーやネットワークに関する勉強をやるのに手始めとしてオススメのメソッドありますか? あまりパールと関係なくてごめんなさい。 パールの本でセキュリティーやネットワーク関係のものって無いですよね。 LWP本はありましたが、 もっと広範にネットワーク関係のスキルを強化したいです。パケット解析とか。 まあ、それはそうと他のWeb系を始めようとするパーラーはそういうセキュリティーやネットワーク関係の不安ないんでしょうか? 皆さん気軽に始めていらっしゃる方が多くよほど知識がおありなのだなあと斜にかまえて静観しています。
744 名前:nobodyさん mailto:sage [2008/01/16(水) 17:37:17 ID:???] どこを縦読み?
745 名前:nobodyさん mailto:sage [2008/01/16(水) 17:58:11 ID:???] >>743 Perlからはなれて、パケットフィルタリングとか、TCP/IPの 詳細について調べていった方がいいと思う。 セキュリティも個人情報を扱っているとか外に洩れるとやばいものは 物理的なレベルで外部に公開せずに社内LANでのみとかにするわけで、 そういうものはPerlの設定やコーディングでなんとかするものではない。
746 名前:nobodyさん mailto:sage [2008/01/16(水) 18:07:35 ID:???] >>743 最近は、ASP(アプリケーションサービスプロバイダ)とかあるので、 それを利用した方がいいと思う。プログラムを組むのは辞めて。 それだと、必要な機能だけを月に数千円〜数万円で必要な期間だけ 利用できる。
747 名前:nobodyさん mailto:sage [2008/01/16(水) 20:49:06 ID:???] ごめん、拡張子aspだけど、中身Perlwwwwww
748 名前:nobodyさん mailto:sage [2008/01/16(水) 22:39:49 ID:???] >>747 あるあるwww
749 名前:nobodyさん mailto:age [2008/01/18(金) 20:13:52 ID:???] すみません。質問です。 不正な入力を防ぐ為に、いろいろなことを考えているのですが、 一人で考えていると、漏れがありそうな気がして怖くなりました。 何か、こう言うことを考えてコーディングしたほうがいいという ガイドラインのようなものはあるのでしょうか。 例えば、以下のような感じです。 1.変なアドレスからcgiを実行しようとしていたらはじく 2.textareaタグの記述は○文字まで 3.同一IPアドレスからの連投を防ぐ
750 名前:nobodyさん mailto:sage [2008/01/18(金) 22:45:45 ID:???] パイプで別プロセスを作った場合ですが、 特殊サブルーチンENDはそれぞれが終了した場合に常に行われる。 これを防ぐ手立てはないでですか?
751 名前:nobodyさん mailto:sage [2008/01/19(土) 10:32:13 ID:???] >>750 です。自己解決しま。
752 名前:nobodyさん [2008/01/19(土) 16:56:00 ID:FZ1FRzKn] Perl使用者がよく使うライブラリ、モジュールなどを紹介した 投票形式のサイトを以前見かけたのですが、思い出せません。 どなたかご存じないでしょうか?
753 名前:752 mailto:sage [2008/01/19(土) 17:21:59 ID:???] 見つかりました mfpm.blogdb.jp/ お騒がせしました
754 名前:nobodyさん [2008/01/23(水) 16:33:04 ID:LaH3xf3C] こんにちは。
755 名前:helpです [2008/01/23(水) 17:26:00 ID:AM6Aqa52] すいません。下記のようにwhile→foreach→whileと入れ子構造で 繰り返し単語リストにある用語を文書から検索したいのですが、 上手く動きません。Helpお願いします。 $word がwhile (<F>) 以下の$wordに上手く渡せません。 open(F4, $dic_file) || die "$dic_fileをオープンできません:$!\n"; while (<F4>){ @words = split(/\n/, $_); foreach $word (@words){ while (<F>) { print "$_"; #「$word」という単語のみにマッチさせる
756 名前:nobodyさん mailto:sage [2008/01/23(水) 18:55:07 ID:???] while (<F4>){ @words = split(/\n/, $_); wwwwwwwwwwwwwwwwwwwwwwwwwwww
757 名前:nobodyさん mailto:sage [2008/01/23(水) 19:27:30 ID:???] $/ = '';
758 名前:755 mailto:sage [2008/01/23(水) 22:55:33 ID:???] つまり 1.用語ファイル (単語が1行に一つずつ入ってる用語。500個位) 2.文書ファイル (文書ファイル。単純なテキスト) 3.2の文書ファイルを、1の用語ファイルの単語を一つずつ whileを使って検索します。 早めに必要なのでどなたか教えてください。>756さん笑ってないで。
759 名前:nobodyさん mailto:sage [2008/01/24(木) 00:24:58 ID:???] >>755 Perlでは(というか…)改行文字でレコードが分割されているので @words = split(/\n/, $_); # <-はありえない そもそも、こんなループを組むこと自体どうかとも思うが my @words = []; while (my $word = <F4>) { push @words, $word; # $_でもいいけど } ファイルをループ先頭でseekするのもありかな、あとはお好きにドゾー。
760 名前:nobodyさん mailto:sage [2008/01/24(木) 07:38:32 ID:???] >>755 >>759 に書いてあるように改行文字で分割される、 事前に>>757 を書いておくと、以降$/に代入された文字で分割されるようになる。 ここでは空文字列なので分割しなくなる。 my $txt { local $/; open(F,$txt_file) or die "$txt_fileをオープンできません。"; $txt = <F>; } open(F4,$dic_file) || die "$dic_fileをオープンできません。"; foreach $word (<F4>) { $word =~ s/\n$/s; $txt =~ s/\Q$word\E//sg #例: マッチ部分削除 } |´д`)ノ笑ってすまんね
761 名前:755 [2008/01/24(木) 09:47:56 ID:TN487IBF] 好きよ、好きよ、好きよ >760さん。
762 名前:nobodyさん mailto:sage [2008/01/24(木) 10:15:27 ID:???] 検索するといっても、どういう結果が欲しいわけ? ファイル2の行数までほしいとか、ファイル1のwordのリストだけでいいとか、 件数までいるとか。
763 名前:nobodyさん mailto:sage [2008/01/24(木) 23:47:07 ID:???] すいません。Perlからword, excelファイルをいじることってできます? マクロの言語(VB?)分からないので・・・。
764 名前:nobodyさん mailto:sage [2008/01/25(金) 03:03:45 ID:???] Win32::OLE
765 名前:nobodyさん mailto:sage [2008/01/25(金) 08:09:41 ID:???] >>763 Perlそのものがその程度の知識であれば、VBAを勉強した方が早いと思う。 一つバージョンが違っただけで途中で動かなくなるとかしょっちゅうだし。
766 名前:nobodyさん mailto:sage [2008/01/25(金) 15:27:50 ID:???] VBAでわからないなら Perlでも無理だと思う。
767 名前:nobodyさん mailto:sage [2008/01/25(金) 18:34:06 ID:???] VBとVBAの違いが分かっていない時点で、 プログラムそのものをあきらめた方がいいと思ったりw
768 名前:nobodyさん mailto:sage [2008/01/26(土) 00:07:47 ID:???] VBAだけでもVB組めるんだが・・・釣られた?
769 名前:nobodyさん mailto:sage [2008/01/26(土) 18:10:44 ID:???] cgiファイルにアクセスして来た内容(GETやPOSTのデータなど)を ログに保存する場合、すべて独自でプログラミングするしかないのでしょうか。 自分で作りはしたのですが、こういう状況は頻繁にあるので、 モジュールがあるのでは、と思ったりしたのですが。
770 名前:nobodyさん mailto:sage [2008/01/26(土) 18:32:06 ID:???] なぜ、そう思うならドキュメントを読もうと思わないのだろうか? search.cpan.org/dist/CGI.pm/CGI.pm#DUMPING_OUT_ALL_THE_NAME/VALUE_PAIRS
771 名前:nobodyさん mailto:sage [2008/01/27(日) 01:37:41 ID:???] >>770 レスありがとうございます。 ドキュメント読んでやってみます。m(_ _)m
772 名前:nobodyさん [2008/01/27(日) 12:37:53 ID:TNan8zlF] 日本でperlの良いサイトが見当たりません。 perlの英語サイトでお勧めありますか?
773 名前:nobodyさん mailto:sage [2008/01/27(日) 13:13:35 ID:???] きみの言う”良いサイト”を説明しないことには・・
774 名前:nobodyさん mailto:sage [2008/01/27(日) 13:32:38 ID:???] perlはネット上では情報量は多い方だぞ。 一方で某社の言語のは情報量は少なく、高い公式文書とかを 買うしかなかったりするし、簡潔すぎて分かりにくい説明を 一生懸命読む羽目にもなる。
775 名前:nobodyさん [2008/01/27(日) 19:07:45 ID:TNan8zlF] >>773 良いサイトを教えて欲しいのではなくて良いサイトが日本ではないと思うので 海外のお勧めサイトを教えて欲しいんです。 切実な要求ではなくて、ハックな皆さんが常日頃どんな英語サイトを見ているかを気軽に尋ねたつもりなんですが。
776 名前:nobodyさん [2008/01/27(日) 19:26:24 ID:TNan8zlF] >>774 分かる気がします。 定番ですがperl mongerは良く見ますが、かなり突っ込んだトピックでも有益な情報がたくさん引っかかることがあったりしますね。 例えば、insideout objectはこのサイトで勉強しました。 あとGoogleの最近更新されたページ検索とはてブとCPANサーチを使えば目的のページが見つかることが多いですね。 皆さんはどうやってperl情報を検索してますか? お勧めあったら教えてください。 で、上で質問したのは、RSSで読みたくなったりブラウザーのお気に入りに入れておきたくなるような良いサイトが なかなか日本のperl関係では少ないかなということです。 まあそのあたり実際どう思います? 個人の主観なので、まあそのあたりは適当にスルーしてくださっても結構です。
777 名前:nobodyさん mailto:sage [2008/01/28(月) 00:30:45 ID:???] おれは perlbuzz.com/2007/08/top-10-perl-blogs.html search.cpan.org/author/ use.perl とか色々。
778 名前:nobodyさん mailto:sage [2008/01/28(月) 00:32:33 ID:???] あ、authorぢゃなくて search.cpan.org/recent こっち。
779 名前:nobodyさん mailto:sage [2008/01/28(月) 00:36:50 ID:???] うーん、なんか半端だな・・・ www.perlcast.com/ perlmonks.org/ perlperl.com/ cpancode.org/ cpants.perl.org/index.html
780 名前:nobodyさん [2008/01/28(月) 20:41:09 ID:iAknG7Tj] >>777 ありがとうございます。 知らないサイトがあって参考になりました!!!! 早速livedoorリーダーにRSSフィードぶち込みますねw サーチCPANのRecentというのは着目してませんでしたが良さげですね― やはり最近のものをチェックしないと古くなってることが多いからですか こうやって見てみると海外では良いperlサイトがどっさりありますね。
781 名前:755 mailto:sage [2008/01/30(水) 18:16:21 ID:???] www.voynich.com/kwic.txt のコードなのですが、 これだと1ワード検索して終わりです。できれば以前教えていただいた while (my $word = <F4>) { push @words, $word; # $_でもいいけど } で、foreach $word(@words){ }の中でリストの単語を全て動かしたいのですが、どうも上手くいきません。exit(0)のせい? どこからどこまでをforeach $word(@words){}のカッコでくくればいいのでしょうか? または、別の解決方法でもいいので、教えてください。 よろしゅう。
782 名前:nobodyさん mailto:sage [2008/01/30(水) 22:34:27 ID:???] mapとgrep、そして多次元配列を覚えると良いよ。
783 名前:755 mailto:sage [2008/01/30(水) 23:13:31 ID:???] >781 覚えるの1週間、教えてもらえば5分。 これでもいろいろ他にやることあるのよ。 意地悪しないで教えてちょ。
784 名前:nobodyさん mailto:sage [2008/01/30(水) 23:26:43 ID:???] 用件仕様が見えてこない。 何か例があればいいのだが。
785 名前:755 mailto:sage [2008/01/30(水) 23:27:11 ID:???] もったいぶらずにさっさと教えろ。ヲタク野郎。
786 名前:755 mailto:sage [2008/01/30(水) 23:29:57 ID:???] >785 騙るな。俺はそんな乱暴な人ではない。
787 名前:nobodyさん mailto:sage [2008/01/30(水) 23:33:38 ID:???] いや、だからさ、読み込むファイルのサンプルと、 欲しい結果のサンプル、そして、今のプログラムで出力される 結果のファイルとか、具体的に示してくれないと何処に問題が あるのかが分からんのよ。 そういうところはソースコードを全部読んでも見えてこないでしょ? ま、サンプルが出たとしても対応は明日以降になるけれど。
788 名前:755 mailto:sage [2008/01/30(水) 23:41:30 ID:???] >787 787さんは782さんですよね? そのmapやgrep、多次元配列とやらで781の回答をきぼん。
789 名前:nobodyさん mailto:sage [2008/01/31(木) 07:18:48 ID:???] で、サンプルは?w
790 名前:nobodyさん mailto:sage [2008/01/31(木) 08:20:23 ID:???] ちょっと最初の方だけ読んでの疑問なんだけど ファイルと検索文字を読み込んだ後の chop ($open_file, $save_file, $word); って何をやろうとしているの?
791 名前:755 mailto:sage [2008/01/31(木) 09:14:13 ID:???] >790 それはSTDINの改行を取るためですね。 >789 入力する文章は日本語と英語が混じったものです。 検索する単語も適当にでっちあげて下さいよ。
792 名前:755 mailto:sage [2008/01/31(木) 09:26:00 ID:???] 別件なのですが、マッチした単語を@match_wordsに一度格納しているのですが、 いつの間にか先頭にARRAY(0x35e08)というのが入り込みます。 これは何ですか?
793 名前:nobodyさん mailto:sage [2008/01/31(木) 09:42:51 ID:???] で、何が問題なのだろうか。 実行してみたら、以下のように3つ表示されたぞ。 (具体的な文字列は省略している) line:3 line:7 line:8
794 名前:nobodyさん mailto:sage [2008/01/31(木) 09:44:56 ID:???] ひょっとして、検索用語を複数同時に指定したいとか? 探索する文字列を指定してください:2ch, AA, モナ 見たいな感じに
795 名前:nobodyさん mailto:sage [2008/01/31(木) 09:47:25 ID:???] >>792 その別件のソースを出さないことには分からないと思う件
796 名前:755 mailto:sage [2008/01/31(木) 09:58:21 ID:???] >794 その通りです。 >795 Aから並べた単なる単語の羅列です。どんな文字列でもARRAY(0x35e08) がマッチした文字列の一番最初に入ってしまう。 ARRAY(0x35e08) ←これは何? (以下例) acceptance accompanying sheet account
797 名前:nobodyさん mailto:sage [2008/01/31(木) 10:46:42 ID:???] おまいらよろしくお願いします。 CGI::Liteを使ったファイルアップロードで、漢字を含むファイル名を扱ってます。 特定の条件でファイル名がアップ時と変わってしまうのです。 条件は分かったんですが、どうすればファイル名を正常に扱えるかわかりません。 Perlのバージョン:5.8.2 クライアント:WindowsXP 発生条件:表、ソ、十などをファイル名に含む 現象:表などの文字より前が消えてしまう 例)画面表示内容.jpg が、 示内容.jpg に変わる。 ヒントください。
798 名前:nobodyさん mailto:sage [2008/01/31(木) 11:02:46 ID:???] >>797 jcode.plで変換するしかないかと。 あと、これ ttp://digit.que.ne.jp/work/wiki.cgi?Perl%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%2FCGI%3A%3ALite#i5
799 名前:nobodyさん mailto:sage [2008/01/31(木) 14:37:56 ID:???] 文字列検索プログラムを書いたぞ。phpだけど。 このファイルと同じディレクトリに[in.txt]という名前で文書ファイルがあるものとする。 <html><body> <form method="POST" action="test.php"><input type="text" name="key" size=30> <input type="submit" value="送信"></form> <hr> <?php if($_POST["key"] == ""){ echo "</body></html>"; exit; }; $key = $HTTP_POST_VARS["key"]; echo "検索キー:$key<br>"; // 検索キーを空白スペースで分割する。 $key2 = split(" ", $key); // 要素数を出す。 $key2_cnt = count($key2); $INFILE = fopen("in.txt","r"); $line_num = 1; $cnt = 0;
800 名前:nobodyさん mailto:sage [2008/01/31(木) 14:39:01 ID:???] つづき while($cnt < $key2_cnt){ echo "検索キー:$key2[$cnt]<br>"; while(!feof($INFILE)){ $line = fgets($INFILE, 1024); $search_flg = strpos( $line , $key2[$cnt] ); if( $search_flg !== false ){ $out_line = "line " . $line_num . " : " . $line . "<br>"; echo $out_line; }else{ // echo "この行にはありません。: $line<br>"; } $line_num = $line_num + 1; } rewind( $INFILE ); $cnt=$cnt+1; } fclose($INFILE); ?> </body></html>
801 名前:nobodyさん mailto:sage [2008/01/31(木) 15:20:34 ID:???] 質問者は検索キーワードが複数でも対応ということだけど、 出力結果を具体的にどうしたいのかは分からないよな。 (例1)検索キー:モナー AA [モナー] line 3 : line 5 : [AA] line 2 : line 3 : (例2)検索キー:モナー AA [モナー]と[AA]を含む。 line 3 :
802 名前:nobodyさん mailto:sage [2008/01/31(木) 19:00:55 ID:???] >801 (例1)でお願いします。
803 名前:nobodyさん mailto:sage [2008/01/31(木) 19:06:46 ID:???] >>802 だったら、>>799-800 のソースを動かしてみればいいぞ。 [test.php]のファイル名で保存して実行すればおk
804 名前:nobodyさん mailto:sage [2008/01/31(木) 19:09:54 ID:???] 大体、例1を作る必要性って何だろうか。 そのキーワードの数だけプログラムを実行すればいい話なのに。 例2ならば分かるが。
805 名前:nobodyさん mailto:sage [2008/01/31(木) 20:14:39 ID:???] 別の言語を持ち出すやつは、スレタイ読めないのか
806 名前:nobodyさん mailto:sage [2008/01/31(木) 22:10:29 ID:???] 別の言語だけど、表記がほとんど似ているものだろ。 質問者はロジックを聞きたかったわけから、これで解決じゃね?
807 名前:755 mailto:sage [2008/02/01(金) 00:06:19 ID:???] > 803 俺のサーバーPHP動きません。 >804 1000回プログラム動かせんから、ループで自動でやりたいと言ってるっしょ。 質問をもっと具体的にすれば良かったかしら。 「781のサンプルプログラムをループで動かす方法を教えて」 です。
808 名前:nobodyさん mailto:sage [2008/02/01(金) 00:55:46 ID:???] >>807 サーバでないといけない理由ってあるの? ローカルで動かせばいいじゃん。XAMPPとかあるんだし。
809 名前:nobodyさん mailto:sage [2008/02/01(金) 00:58:10 ID:???] >>807 具体的に言えといわれて、具体例を出さないからこうなったんだと思う。
810 名前:nobodyさん mailto:sage [2008/02/01(金) 01:07:14 ID:???] 質問者は>>799-800 をPerlに移植すれば良いのかどうかの 事は言わないんだよな。 実際に出来上がってみて、あーだこーだいうんだろうな。 そんな態度だから最初に質問した時からおちょくられてるんだと思う。
811 名前:perl好き情報4回生 mailto:sage [2008/02/01(金) 13:26:52 ID:???] 修士出たら就職を考えている現在3回生の情報の学生でperlが一番すきですが、 今年に入ってからいろいろと求人情報を集めてみたところperlの仕事少ないですね 噂には聞いてましたが、僕は何が何でもperlを仕事にしたいのです まあそれはおいといて、perlを仕事としてみたときどんな感じですかね? 皆さま先輩方の多くはperlを仕事としていらっしゃると思ったので、 是非とも業務内容、他言語と比べたときの待遇、仕事のやりがいなどなど、 ポジティブな意見(勧め)もネガティブな意見(愚痴)も生の声としてお聞かせ願えればと存じます。
812 名前:perl好き情報3回生 mailto:sage [2008/02/01(金) 13:31:25 ID:???] 間違えました。名前欄は3回生が正解です。
813 名前:nobodyさん mailto:sage [2008/02/01(金) 13:45:35 ID:???] >>811 確か、mixiとか、はてなは、perlじゃなかったかな。 で、お前は一体何年なんだ?w 修士を出てからということは、あと2年後に就職活動を やり始めるということかな? 合計あと3年数ヶ月は親のすねをかじって学生をやると。
814 名前:nobodyさん mailto:sage [2008/02/01(金) 13:49:55 ID:???] 人に情報をくれといってないで、まずは君の作った実績を出してみたら どうだ。例えば>>755 に対する答えのソースを作るとか。
815 名前:nobodyさん mailto:sage [2008/02/01(金) 15:10:24 ID:???] Perl大好きっていう気持ちはわかるけど、 Perlしかまともに出来ない人に就職口はないかと というか回りから軽蔑される
816 名前:nobodyさん mailto:sage [2008/02/01(金) 15:17:27 ID:???] >>815 凡人に対しては同意だけど、とことんやってる人においては その限りではないと思う。
817 名前:nobodyさん mailto:sage [2008/02/01(金) 16:03:32 ID:???] やれる人というのは、大抵その企業のやり方に会わなかったり、 自分が上に立ってやろうという考えを持つようになったりして、 会社員としてやっていくよりも、起業して社長としてやる場合が多い。 なので、君の場合は「良い所に就職する」ということよりも、 投資家を説得するプレゼンをするとか、誰もが納得できるような システムを作る方向でやっていったほうがいいと思う。 Perlは、アクセスカウンタ、掲示板、チャット、ブログ、 ショッピングモールと発展してきたけれど、この次にあたるもの を作るのを考えると良いだろう。 修士までいくのであれば、そのまま博士まで行って、松本氏のように 純粋に言語をやる道もある。
818 名前:nobodyさん mailto:sage [2008/02/01(金) 19:19:56 ID:???] 人工知能とか?
819 名前:perl好き情報3回生 mailto:sage [2008/02/01(金) 23:20:23 ID:???] 皆様、予想外の多いレスに大変驚いてます。 ありがとうございます。 >>813 3を押し間違えただけです。3回生に相違ありません。w > 合計あと3年数ヶ月は親のすねをかじって学生をやると。 そうなんです。そうした生ぬるい環境でありますが、全身全霊で取り組む覚悟です。 >>814 >人に情報をくれといってないで、まずは君の作った実績を出してみたら 魅力的な人材であることを立証できないです。僕はまだまだです。 >>815 >Perlしかまともに出来ない人に就職口はないかと そう言われるとつらいものがありますが、C++を今からしっかりやって実力をつければ 重宝されるのではないかと考えています。 >>817 >投資家を説得するプレゼンをするとか、誰もが納得できるようなシステムを作る方向で では後者でやります。Web上のプラットフォームの開発が出来たらいいなあとは思っています。WebOSとか。
820 名前:nobodyさん mailto:sage [2008/02/02(土) 00:24:29 ID:???] プロトコルが必要な今のネット、NGNも新しいプロトコルを使用することがすでに決まっており、WebOSha机上の空論だということすら知らないのでは無理かと・・・
821 名前:nobodyさん mailto:sage [2008/02/02(土) 01:14:38 ID:???] >>811 Perlも道具に過ぎない。 就職から定年まで約40年間ずっと同じプログラム言語を使い続ける事はまず不可能。 管理職になってプログラミングから足を洗えるのはごく一部。 学生の時点で言語にこだわるより、考え方・分析方法・設計方法を学ぶ道具だと割り切った方が良い。 そう言ってる漏れも、学校じゃPascalやらCやってて、就職してからはC、C++、VBやって、 独立してからは最初はDelphi使ってたが今はVBAとPerlとJavaScriptとSQLをやってる。 今後JavaやPHPもやることになると思う。
822 名前:nobodyさん mailto:sage [2008/02/02(土) 05:18:25 ID:???] >>818 新しく言語を作っていくという意味さ。 今のPerlはオブジェクト指向が完全でないとか、日本語で一部文字化けするとか あるわけで、それを改善していくという方向はどうかなという提案です。 ja.wikipedia.org/wiki/%E3%81%BE%E3%81%A4%E3%82%82%E3%81%A8%E3%82%86%E3%81%8D%E3%81%B2%E3%82%8D ま、アスペクト指向とかもあるからそっちへPerlを持っていくのも良いかもね。
823 名前:perl好き情報3回生 mailto:sage [2008/02/02(土) 09:07:03 ID:???] >>820 そうだったんですか!大学にそういう専門の先生がいて、僕も影響を受けて この一年いろいろ構想を練りつつ勉強を重ねてきたのですが、、、 >>821 いろんな言語を使いこなせないといけないんですね。 僕はC,C++,Perl,Java,Javascriptがお遊び程度に使えます。 が、perlはともかく、他の4つは本当に中途半端です。 perlスレだからもう少しはperlを主軸にして生計を立てられるという意見があるかと 思いましたが、皆さん違うようですね。現実は厳しいということでしょうか。
824 名前:nobodyさん mailto:sage [2008/02/02(土) 11:57:53 ID:???] Perl6 はがらりと仕様が変わるらしいから、それが一般に浸透すると また状況が変わってくるかもしれないよ。
825 名前:nobodyさん mailto:sage [2008/02/02(土) 12:00:31 ID:???] Perlが好きだの書いてて、いかにも得意なもののように思える言い方だったが、 実際には、「Perlしか知らない」の間違いじゃないのか?w
826 名前:nobodyさん mailto:sage [2008/02/02(土) 12:16:08 ID:???] >>822 オブジェクト指向じゃないとだめって先入観は捨てましょう。 文字化けはどの言語でも日本語に限ったわけじゃないんだけど・・・ >>824 正規表現がすごいぞ >>825 あえて誰も言わなかったことをw
827 名前:nobodyさん mailto:sage [2008/02/02(土) 12:17:50 ID:???] じゃ、「何言ってるんだ?」じゃなくて、よいしょする方向でw
828 名前:perl好き情報3回生 [2008/02/02(土) 13:36:26 ID:9aX3NPkq] >>824 2010年以降になりそうですが、その頃はまさに僕が現役ですね。 例えば、どんな変化が予想されますか? >>825 僕なんて落ちこぼれもいいとこです。perlしかできないどころかperlも満足にできないです。 ですが一身上の都合により毎日猛勉強しているので そのうちいろんな言語を使いこなせるようになるよとは先生に言われました。 ただ、先生は業界のことを全くご存知ない方なので、こうやって情報集めしています。
829 名前:nobodyさん mailto:sage [2008/02/02(土) 13:47:22 ID:???] コンピュータ言語を毎日猛勉しなきゃならないなら、この業界は見込み無いから諦めたほうが良い。 使ったことない言語でも言語仕様書を4-5日読めば使えるのが普通。 毎日猛勉するなら英語を勉強したほうが10万倍役に立つ。
830 名前:nobodyさん mailto:sage [2008/02/02(土) 13:51:33 ID:???] >>828 今は Perl が下火で PHP や java が主流だけど、 これからは PHP や java が下火となり Perl が主流となる。
831 名前:nobodyさん mailto:sage [2008/02/02(土) 13:53:43 ID:???] 「業界のことを全く知らない先生」の言う事を、 信じているのか、いないのか良く分からない件
832 名前:perl好き情報3回生 mailto:sage [2008/02/02(土) 13:53:53 ID:???] >>829 そうなんです。僕はある事情で人より頑張らないと追いついていけないみたいです。 つくづく才能がないなあと思います。学校では出来る人を目の前にすると凹みっぱなしです。 大学に入ってから自分の才能のなさに気づきました でも親に申し訳が立たないので猛勉強してついていこうとしています。 猛勉強なんて偉そうな言葉使ってごめんなさい。
833 名前:perl好き情報3回生 mailto:sage [2008/02/02(土) 13:59:49 ID:???] 連投すみません。 >>930 perl6になるとそういうふうになるのですか。 最近perlをやってていいのか不安になっていたので心が落ち着きました。 >>931 先生は非常に尊敬しているし、その先生の「そのうち出来るよ」という言葉も僕 には大きな支えになっています。 でも、就職情報は先生に聞くのでなく自分で収集する学生が多いです。
834 名前:nobodyさん mailto:sage [2008/02/02(土) 14:54:59 ID:???] >>833 君は、他の言語を学ぶ必要性についてはどう思ってるの?
835 名前:nobodyさん mailto:sage [2008/02/02(土) 15:13:04 ID:???] >833 藻前、なにか勘違いしてないか? プログラミングってのは、コンピュータに呪文を唱えて仕事をさせる事じゃないぞ。 コンピュータという、言われた事しか出来ないモノに、指示を出して仕事をさせる事だ。 コンピュータはあいまいさがある人間の言葉で指示されても理解できないから、専用の言葉・文法を使う。 プログラミングを学ぶ上で一番大切なのは、自分が出したい指示をあいまいさなく、的確に表現できる能力を身につけることだ。 文法や単語(命令)なんかは、分からなきゃ辞典(リファレンス)を見ればいい。
836 名前:nobodyさん mailto:sage [2008/02/02(土) 15:46:15 ID:???] Perlを使った仕事をしたいのなら、不安だのいってないで、 まっすぐにその方向に進めばいいんでないの? 情報処理の資格を取ろうと思っている人が、突如法律の勉強を したりしないのと同じ。 絶対に完璧で将来がある選択肢なんてないわけで、自分の思う方向、 好きな事に一生懸命に取り組むかどうか。
837 名前:nobodyさん mailto:sage [2008/02/02(土) 17:14:06 ID:???] 本当にプログラムやりたいなら、データベースもやらなきゃいかんよ。 今業務でやってるのはPHP+MySQL ちなみに、Perlはもちろんこと、Ruby、C/C++、VB、Java等も勉強した。 趣味で組むのはPerlかな。
838 名前:nobodyさん mailto:sage [2008/02/02(土) 18:01:41 ID:???] いや、この人の場合は、SEやプログラマーとして仕事をやりたいとかじゃなくて、 「Perlをやりたい」んじゃないかなぁ。
839 名前:nobodyさん mailto:sage [2008/02/02(土) 18:06:49 ID:???] 天才的な感があるヤツ以外、母国語が得意じゃないヤツはプログラミングを仕事にするのは難しい。 Perlを使った仕事をすると言っても今からPerlを使いこなせるようになっている必要は無いだろう。 まずは本を読め。次に数学(離散数学系)を学べ。 それが出来るのは学生のうちだけだ。
840 名前:perl好き情報三回生 ◆qqt5.0NxB6 mailto:sage [2008/02/02(土) 21:53:31 ID:???] >>834 現段階ではc/c++をよく学ぶつもりですが僕のような経験不足な人間には到底分からないです。 >>835 なるほど、要求を的確に表現する能力が大切なんですね。とてもためになります。 >>836 僕の場合その突如があるので危なっかしいです。 それに一生懸命すぎて身を滅ぼしがちなアンバランスな人間だと思います。 >>837 MySQLですか。実務的なDBの経験はほとんどないので、机上に留まらず精進します. >>838 というよりもperl的な文化が好きです。ネットや身の回りでperlerに親しみを感じるので、 こうした人たちとこうした文化を創っていきたいと思ったんです。 >>839 高2と高3の頭は大学数学の本を読んでいたので、数学は得意です。 本は一応月に20冊くらい読みますが、やはり周りの人がすごすぎるので、 今の5倍は読みたいです。
841 名前:perl好き情報三回生 ◆qqt5.0NxB6 mailto:sage [2008/02/02(土) 21:55:40 ID:???] ちょっと修正です。連投失礼します。 >>834 現段階ではc/c++をよく学ぶつもりですが、僕のような経験不足な人間には いろんな言語を学ぶ必要性など到底分からないです
842 名前:nobodyさん mailto:sage [2008/02/02(土) 23:48:00 ID:???] プログラム言語に依存した考え方を学ぶのは、現場に入ってからで十分。 Perlも道具の一つだと認識し、道具選びは適材適所だって事を理解しろ。 ついでに言えば、学習用のプログラム言語は1個に絞っても桶だ。 ただ、面接対応で考えりゃPerlだけじゃ押しが弱い気もする。
843 名前:nobodyさん mailto:sage [2008/02/03(日) 00:09:50 ID:???] 学部3年で進学希望かつその後は将来ソフトウェア開発の仕事を希望していて 今から独学でperl学ぶの? なんか色々矛盾してるな… 専攻変更したって言うことか?
844 名前:nobodyさん mailto:sage [2008/02/03(日) 11:27:58 ID:???] COBOLプログラマが大量に解雇されたという話知ってる?
845 名前:perl好き情報三回生 ◆qqt5.0NxB6 mailto:sage [2008/02/03(日) 23:32:26 ID:???] 皆様、アドバイスありがとうございます。 >>842 面接を考えるとperlだけじゃ弱いんですね。perl, c/c++, javascript, java, perl, lisp, vbは勉強する予定です。そのうち、最初の2つ(perl, c/c++)に力点を置く予定です。 perlをとくに絶対視・唯一視しているわけでもないです。 言語に依存しない考えをいまのうちによく勉強することが大切なんですね。 >>843 専攻変更ではないですが、最初は数学科に行く予定でしたが、土壇場で情報に変えました。 将来perlの仕事につきたいという思いはもちろんありますが、それほど決まっていなくて、 今は情報収集しています。どこか矛盾していますか? >>844 聞いた気もしますが、全然知りません。
846 名前:nobodyさん mailto:sage [2008/02/03(日) 23:40:34 ID:???] とりあえず、大文字小文字の使い分けから始めない? COBOLはシステムを切り替えられる資金のあるところは人の入れ替えしてるが、無いところは細々と雇い入れてる。 まぁ、SIは先が無いので、エンドに引き抜かれないかぎり先は無いね。
847 名前:nobodyさん mailto:sage [2008/02/03(日) 23:42:52 ID:???] 全体像が見えていないとかいいながら、異様にPerlにこだわっている 感があって、なんか良く分からないな。 PHPやC#は、あえてはずしているというよりも、その存在を知らないのかもな。 で、このスレはPerlのくだすれであって、お前の人生相談用スレではないので、 スレ違いの話をするつもりなら、出て行ってくれないか?マ板でやったらどうだ。
848 名前:nobodyさん mailto:sage [2008/02/04(月) 00:06:37 ID:???] どのスレに移動するかを教えてくれたら、俺はついていくぞ。
849 名前:nobodyさん mailto:sage [2008/02/04(月) 12:48:01 ID:???] 10年前からperlなんか廃れるとか仕事にならないとか言われ続けてるけど いまだに仕事になってるから死ぬまではなんとかなるんじゃないかな 中小企業のWEB屋でいいならperlの仕事はあるぞ
850 名前:nobodyさん mailto:sage [2008/02/04(月) 14:03:12 ID:???] Ajax の例とかもあるしな。どうなるかは誰もわからない。
851 名前:nobodyさん [2008/02/05(火) 14:08:38 ID:ke8bjavM] phpをperlに書き換えて欲しいです。 わかる人お願いします。 <?php //パラメータの取り出し $CID = $_GET['cid']; $cc = $_GET['cc']; $SID = $_GET['sid']; $CH = $_GET['ch']; $C1 = $_GET['c1']; //パラメータ判別 /*処理*/ //処理 header("Content-Type: text/plain; charset=Shift_JIS"); print"rc=0\r\n"; print"u1=www.abc.jp/OK.php\r\n "; /*処理*/ print"c1=AAA\r\n"; print"u2=www.abc.jp/err.php\r\n "; print"END\r\n"; ?>
852 名前:nobodyさん mailto:sage [2008/02/05(火) 14:15:13 ID:???] >>851 CGI.pmつかってもいいの?
853 名前:nobodyさん [2008/02/05(火) 14:23:16 ID:ke8bjavM] <?php から ?>までをそのままperlに書き換えるのが不可能なら構わないです。
854 名前:nobodyさん mailto:sage [2008/02/05(火) 16:02:31 ID:???] www.abc.jp/
855 名前:nobodyさん mailto:sage [2008/02/05(火) 22:54:03 ID:???] use CGI; my $q = new CGI; my $cid = $q -> param( 'cid' ); 後同じ print "Content-type: text/plain; charset=Shift_JIS\n\n"; print "rc=0\n"; 後同じ
856 名前:nobodyさん mailto:sage [2008/02/05(火) 23:10:03 ID:???] Perlの世界には $_GET['cid']; とか $_POST['cid']; とかないからね。 受け取った文字列を & で split して、さらに = で split して。という 処理から始まる。 CGI.pm使わないと同じような構文にはならないだろうね。
857 名前:nobodyさん [2008/02/05(火) 23:13:32 ID:LtG8FBU3] windows xpで、perlからwindowsのアプリケーション(例えば 電卓のcalc.exe)を終了させるにはどうやればいいですか? perlに関する知識はttp://www.rfs.jp/sb/perl/こちらのサイト を読み終えたくらいです。
858 名前:nobodyさん mailto:sage [2008/02/05(火) 23:23:42 ID:???] Perlでそんなこと出来るの?
859 名前:nobodyさん mailto:sage [2008/02/05(火) 23:37:33 ID:???] WindowsAPI使えば、プロセスの終了とかできるかも
860 名前:857 [2008/02/05(火) 23:49:41 ID:LtG8FBU3] >>857 です。 >>858 返信ありがとうございます。windowsプログラミングについてもさっぱりなんですが >>859 さんのおっしゃるようにwin32api系のものを使えば出来そうな気がしたんですが。 linuxとかだとsystem(kill〜って感じでそのまま出来るんですかね。 >>859 返信ありがとうございます。 プロセスの終了も良く分かってないんですが、その辺の仕組みを僕くらいの低レベルでも わかるように紹介されてるページとかご存知でしたらご紹介頂けたら幸いです。
861 名前:nobodyさん mailto:sage [2008/02/06(水) 00:20:44 ID:???] 残念ながらそれはwebprog板では板違いなのだ。
862 名前:nobodyさん mailto:sage [2008/02/06(水) 10:22:36 ID:???] Kent CGI.pm Mason Sledge Catalyst Jifty Reaction 間にいろいろハサんで欲すぃ
863 名前:nobodyさん mailto:sage [2008/02/06(水) 10:35:41 ID:???] おっとCGI::Applicationを忘れていた Kent CGI.pm CGI::Application Mason Sledge Gantry Catalyst Jifty Reaction
864 名前:nobodyさん mailto:sage [2008/02/06(水) 11:59:40 ID:???] system "taskkill /im calc.exe";
865 名前:nobodyさん mailto:sage [2008/02/06(水) 16:07:31 ID:???] ん?しりとりでもやりたいのか?w
866 名前:nobodyさん [2008/02/06(水) 17:39:26 ID:z242xw4+] すいません、質問お願いします。 一行テキスト と テキストエリア と 送信ボタン と hiddenがいくつか のフォームを作りました。 jcode.plを通して、デコードする仕組みにしました。 テキストエリアに、600文字以下の、少ない全角文字を入力し、送信ボタンをクリックすると、 ログファイルに記載され、意図した表示になるのですが。 テキストエリアに沢山の文字(662文字以上)を入れ、送信ボタンを押しても反応しません。 perlには、フォームに入力する文字制限などがあるのでしょうか? 600文字程度ですと、使用目的では文字数が足りないので、なんとか直したいのですがどうしたらよいでしょう?
867 名前:866 [2008/02/06(水) 17:42:41 ID:z242xw4+] 追記です。 IE6だと、ボタンをクリックしても無反応なのですが。 FireFoxだと、一応書き込みができました、 しかし、やはり全角文字600文字程のところから後が切れて、ログファイルに記録されます。 また、全てが半角の数字を入力した場合には、何文字でも入力できる感じです。 宜しくお願いします。
868 名前:866 [2008/02/06(水) 17:50:10 ID:z242xw4+] すいません。訂正です。 半角数字でも、1000文字程度しか書き込みができませんでした。
869 名前:nobodyさん mailto:sage [2008/02/06(水) 17:50:25 ID:???] method="POST"
870 名前:nobodyさん mailto:sage [2008/02/06(水) 17:51:53 ID:???] enctype="multipart/form-data"
871 名前:866 [2008/02/06(水) 18:04:28 ID:z242xw4+] >>869 ,870 ありがとうございます メソッドをポストにしたら出来ました!
872 名前:nobodyさん mailto:sage [2008/02/08(金) 17:15:00 ID:???] #!/usr/local/bin/perl eval { $test=; }; print "fin" この三行スクリプトを実行するとfinが表示されずに syntax error at test.pl line 2, near "=;" Execution of test.pl aborted due to compilation errors. が表示されるのは正常なActivePerl(forWin)およびevalの振る舞いですか?
873 名前:872 [2008/02/08(金) 17:24:04 ID:ZczohSgB] 上げ忘れ。 ActivePerlのperl -vはPerl v.5.8.8 / build817です。
874 名前:872 mailto:sage [2008/02/08(金) 18:04:44 ID:???] わかた(´д`)y-~~シンタックス系のいわゆるコンパイルエラーはevalで拾えないようで、 拾えそうなイキフンで記述してあるリファレンスが誤りです。大変ありがとうございました。
875 名前:nobodyさん mailto:sage [2008/02/08(金) 18:57:59 ID:???] eval q{ $test=; }; $@
876 名前:797 mailto:sage [2008/02/14(木) 15:20:19 ID:???] おまいら解決したので報告します。 実は>>798 が教えてくれたページを参考に作ったプログラムだったのですが、そこに罠があったのです。 ファイル名をSJISにするということで、アップページの文字コードもSJISにしていたのですが、 SJISで特定の文字(表、ソ、十など)にはWindowsでパスの区切りに使う\のコードが入っているので、 その部分が区切りと解釈されて、ファイル名が切られていたのです。 そこで、アップページの文字コードをUTF8にした所、切られることなく正常動作するようになりました。 おまけ 最近遭遇し一応解決したネタを1つ。 なぜか、CGI::LiteとIE6(最近のパッチ以降?)の組み合わせで<INPUT type="file">が複数連続すると、 途中のファイル名が取得できません。ダミーで<INPUT type="hidden">を挟むと大丈夫です。
877 名前:nobodyさん mailto:sage [2008/02/14(木) 16:19:19 ID:???] おまそれはPerlの一番最初に習う、しかも新規の人は既に誰も使わな(ry >なぜか、CGI::LiteとIE6(最近のパッチ以降?)の組み合わせで<INPUT type="file">が複数連続すると、 あーわかるわかる。初心者にありがちなバグだね。 おれもHTTP拡張のバウンダリ周りで苦労した。10年ぐらい前に。
878 名前:nobodyさん [2008/02/18(月) 22:53:11 ID:b8HgX1gh] お願いします。 配列、@listの中には5つの要素が入っています。 そのなかの3つ目を削除するにはどうすれば良いですか? $list[3] = ''; だと中身が空のまま要素数は変わりません…。
879 名前:nobodyさん mailto:sage [2008/02/18(月) 23:31:32 ID:???] splice @list, 2, 1;
880 名前:878 mailto:sage [2008/02/19(火) 00:10:37 ID:???] >>879 さん、ありがとうございました。
881 名前:nobodyさん mailto:sage [2008/02/20(水) 18:43:38 ID:???] ここって超初心者の板じゃないの? モジュール関係の質問見ると引くぞ >>878 のスレ見て少しホッとしたけど
882 名前:nobodyさん mailto:sage [2008/02/20(水) 18:51:36 ID:???] 板とスレ スレとレス 間違えてるぞ
883 名前:nobodyさん [2008/02/20(水) 20:04:29 ID:AT7Ymvry] 掲示板で書き込んだ人のIPを取得するにはどうしたら良いのでしょうか? $〇〇 = $ENV{'REMOTE_ADDR'}; でIPを取得したのはわかったんですが、フォームの中に<input type=hidden name=△△ value=$○○>などで他人に書き込みさせても自分のIPが表示されてしまいます 色々ググったりしたんですが良く分かりません 優しい解説お願いします
884 名前:nobodyさん mailto:sage [2008/02/20(水) 20:25:09 ID:???] >>883 hiddenタグでやろうとしていることがいまいち分からないが、 通常は、書き込んだ時にログファイルに一緒にIPアドレスを 書き込むものなんだが。
885 名前:nobodyさん mailto:sage [2008/02/20(水) 20:30:56 ID:???] >>884 スクリプトは時刻表示とコメントだけの、一行掲示板の簡易なものです 一緒にとはどういうことなのでしょうか? ログファイルには時刻とコメントしか載りません 超初心者ですいませんm(_ _)m
886 名前:nobodyさん mailto:sage [2008/02/20(水) 20:42:58 ID:???] >>885 その、時刻とコメントを書き込むファイルに、IPアドレスも一緒に 書き込む方法があるでしょといいたいのだよ。 表示する際はそのデータは必ずしも出す必要は無いのだから。 それが嫌ならば、書き込みをしたときに内部的に別なファイルにも IPアドレスと時刻を書き込ませるようにプログラムを書けばよい。
887 名前:nobodyさん mailto:sage [2008/02/20(水) 20:55:23 ID:???] >>885 フォームにセットしなくても、書き込んだ人のIPはこれで取り出せるよ → $ENV{'REMOTE_ADDR'}
888 名前:nobodyさん mailto:sage [2008/02/20(水) 20:55:38 ID:???] >>886 IPアドレスを一緒に書き込むプログラムの書き方を知りたいんです(;∇;)/~~色々ググって、配布されてるスクリプトから該当する部分を抽出して頑張ったんですが...良く分からなかったんです、
889 名前:nobodyさん mailto:sage [2008/02/20(水) 20:57:55 ID:???] >>887 レスありがとうございますm(_ _)m それでIPは表示されるのは分かったんですが、それをどこに設置すればログに書き込んだ人のIPが表示されるかが分からないんです(;∇;)/~~
890 名前:nobodyさん mailto:sage [2008/02/20(水) 21:04:58 ID:???] >>889 open(OUT,">> log.txt"); $line = $ENV{'REMOTE_ADDR'}; print OUT $line; close(OUT);
891 名前:nobodyさん mailto:sage [2008/02/20(水) 21:07:00 ID:???] >>889 コメントの後ろにくっ付けちゃえw
892 名前:nobodyさん mailto:sage [2008/02/20(水) 21:14:53 ID:???] aska とか kent の BBS にはログにIPアドレスを記録するコードは あったはずだが。 それらを読んでも分からないのであれば、何処かに君が書いたソースを うpしてここに貼りなさい。気分が向いたら改変してやるからw
893 名前:nobodyさん mailto:sage [2008/02/20(水) 22:19:30 ID:???] 先程はありがとうございましたo(^-^)oおかげさまで解決しましたw もう一つ質問させて下さいm(_ _)m ($sec,$min,$hour,$day,$mon,$year,$wday) = localtime(time); $week = $weekday[$wday]; $mon++; $date = "$mon月 $day日 $hour:$min"; という時刻表示のスクリプト(年が無駄にあるのは気にしないで下さいw)を使ってる?んですが、$minの所だけを1ケタの秒の時だけ01や02みたいに0を先頭に付けたいのですが、どのようにすれば良いのでしょうか? ちなみに 2月20日 22:04 というような事です!
894 名前:nobodyさん mailto:sage [2008/02/20(水) 22:24:58 ID:???] >>893 printf使うとか。 また、例のごとくそれの使い方が分からないということであれば、 以下のコードを付け加える。 if($min>9){ $min = "0" . $min; }
895 名前:nobodyさん mailto:sage [2008/02/20(水) 22:40:01 ID:???] $ENV{'TZ'} = "JST-9"; ($sec,$min,$hour,$mday,$mon,$year,$wday,$d,$d) = localtime; $date = sprintf("%04d/%02d/%02d(%s) %02d:%02d:%02d", $year+1900, $mon+1, $mday, ('Sun','Mon','Tue','Wed','Thu','Fri','Sat')[$wday], $hour, $min, $sec); print $date;
896 名前:nobodyさん mailto:sage [2008/02/20(水) 22:48:10 ID:???] >>893 これはどうなの? $date = sprintf("%2d月%2d日 %2d:%02d",$mon,$day,$hour,$min); print $date;
897 名前:nobodyさん mailto:sage [2008/02/20(水) 22:53:59 ID:???] >>895 $dは無くても良いぞ。 どうしても書きたいなら、undefにすべし それと、 my( $year, $month, $day, $hour, $min, $sec, $wday ) = ( localtime() )[5,4,3,2,1,0]; って言うのを覚えると見た目に麗しい
898 名前:nobodyさん mailto:sage [2008/02/20(水) 23:05:01 ID:???] perlは配列の要素が足りなければ 足りない分の後ろの要素は無視されるから 必要なければ書かなくてよろし
899 名前:895 mailto:sage [2008/02/20(水) 23:06:42 ID:???] >>894 が正常に動かない気がして5年も前に書いたやつ貼っただけだから
900 名前:nobodyさん mailto:sage [2008/02/20(水) 23:12:33 ID:???] 下らない質問に親切に答えていただいて本当にありがとうございました! 23:06 とかできました(゜∀゜;ノ)ノ また何かあったらよろしくお願いします!(b^ー°)
901 名前:nobodyさん mailto:sage [2008/02/20(水) 23:34:16 ID:???] もう2度と来るな
902 名前:nobodyさん mailto:sage [2008/02/21(木) 03:45:40 ID:???] >>897 $wday いらね
903 名前:nobodyさん mailto:sage [2008/02/21(木) 09:53:00 ID:???] >>902 あぁ、ほんとだ。
904 名前:nobodyさん [2008/02/21(木) 16:13:36 ID:VlnHmaCl] 掲示板で [3]内容 [2]内容 [1]内容 みたいにレス番号を付けるにはどうしたら良いのでしょうか?
905 名前:nobodyさん mailto:sage [2008/02/21(木) 16:50:55 ID:???] おまえ>>883 だろ。 全部聞きに来るなら一から勉強しろよ。
906 名前:nobodyさん mailto:sage [2008/02/21(木) 17:10:04 ID:???] >>904 お前の質問の仕方は抽象杉でわけわかんねえんだよ。 質問したければお前が書いたコードをうpれ。話はそれからだ。
907 名前:nobodyさん mailto:sage [2008/02/21(木) 17:42:47 ID:???] 自分なりに勉強してやってみたんですが分からなかったので質問しに来ました まあもう良いです
908 名前:nobodyさん mailto:sage [2008/02/21(木) 18:09:09 ID:???] >>904 全データ読み込んで、内容の数を数えて、 ・ 一番上の内容を表示する前に数えた数を ・ 次の内容を表示する前に(数えた数-1)を と出していけばいんじゃね? データフォーマットも表示部分のソースも無いんじゃ エスパーでもないかぎり(ry
909 名前:nobodyさん mailto:sage [2008/02/21(木) 18:17:46 ID:???] 「出来ないやつ」の典型的なパターンだなw ・自分なりの勉強したはずなのに「本当に調べたの?」といいたくなる程度であるところ。 ・「もう良いです。」とすぐにさじをなげるところ。 もう良いというのならば、このままPerlも辞めた方がいいぞ。道はいくらでもあるんだから。
910 名前:nobodyさん mailto:sage [2008/02/21(木) 21:37:27 ID:???] ちょっと直したい時に全部調べるのがカッタルイってのはすげーよくわかるよ。 おれも子供の頃「関数内から抜けるコマンド何だっけ?」と電話で聞いたことある。あれは助かった。 でも何カ所も直したり、まして新規でBBSを作るなら、オマエそれ全部おれに書かせるのかって。
911 名前:nobodyさん mailto:sage [2008/02/21(木) 23:40:01 ID:???] 数年前はぐぐるにしても、日本語サイトが少ないからある程度英語が読めないと 駄目だったとか、検索エンジンの使い方のコツをある程度体得しておかなければ 目的のコンテンツにたどり着けなかったりしたから、その気持ちは分かる。 Perlのサンプルソースを手に入れる時、検索を使うよりも、2chの専用スレの テンプレのURL一覧を見た方が早いなと感じた場合もあった。 だけど、今は大分検索エンジンの使い勝手も良くなり、目的のものがヒット しやすくなった。Perlのこの程度の事なら日本語だけでも大丈夫だしね。 この状況で、このレベルのことが分からないなら、もう無理だと思う。
912 名前:nobodyさん mailto:sage [2008/02/21(木) 23:46:33 ID:???] ラリーもあきれ顔です ttp://upload.wikimedia.org/wikipedia/commons/b/b3/Larry_Wall_YAPC_2007.jpg
913 名前:nobodyさん mailto:sage [2008/02/22(金) 07:19:54 ID:???] 一つの発言に対してこれ程執着するとは(^w^) ここがどれだけ過疎ってるかを表してますね
914 名前:nobodyさん mailto:sage [2008/02/22(金) 07:55:30 ID:???] よし、じゃPHPのくだすれと統合するか?w
915 名前:910 mailto:sage [2008/02/22(金) 10:59:13 ID:???] >>911 っつーかググレが一番要らない。何でもググレばわかる筈だよ。理論上。 「これどうやるの?」「正規表現」みたいな一行レスもググレと同じで意味が無い。 ググレ言っていいのは通常スレ内だけで、こういうスレは隔離用だから、答えたい人 だけが見て、答えたくない人は見なければいい。教えてgooと同じ。たとえば 「C 関数 戻る」 で検索すると、return()はなかなか出て来ない。だからといって普段Tcl/Tk専門で やってるSUNの社員に、一時的な知識のために参考書を買わせるのも無駄が多い。 ただ全部は聞きに来るなよって。
916 名前:nobodyさん mailto:sage [2008/02/22(金) 11:35:20 ID:???] レスの内容が「ググレカス」と「正規表現」とは大きく違うと思うが。 後者は、情報にたどり着くまでの手助けを十分にしているといえる。 ひろゆきも、この簡潔な回答が出来るのは、2chの特徴であり、 他のサイトのくだらない挨拶をしなければならないところとの 大きな違いだといってたぞ。
917 名前:nobodyさん mailto:sage [2008/02/22(金) 11:40:32 ID:???] 質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドなのに 正規表現で分かるのかよw
918 名前:nobodyさん mailto:sage [2008/02/22(金) 12:38:27 ID:???] まぁ時間と金をかけて勉強すりゃわかるだろうけど、当面の一つの目的さえ達成できれば、 あとはPerlなんて一生触りたくない層が最も多い。つまり言語がPerlなのはあるツールが 元々Perlで書かれていたからで、欲しいのはINとOUTのデータだけ。 こういう層に正規表現をわざわざ勉強させる必要は無いし、あればとっくにやってる。 そういうわけで具体的に一連の処理を書くことが望ましい。べつに10秒で書けるんだから。 また追加モジュールの紹介も価値が低い。モジュールのインスコが一番難しいんだから。 rootが必要だし、客先のネットワークによって無保証のモジュールの導入を禁止されている。 必ずしも導入できなくはないが、自社でアップデート対応を保証しなくてはならない。
919 名前:nobodyさん mailto:sage [2008/02/22(金) 13:47:46 ID:???] ぬるぽ
920 名前:nobodyさん mailto:sage [2008/02/22(金) 14:15:30 ID:???] >>919 ガッ!
921 名前:nobodyさん mailto:sage [2008/02/22(金) 16:15:50 ID:???] >>918 元のソフトがPerlで書かれててPerlなんか一生触りたくないなら、 INなりOUTなりを使い慣れたプログラム言語で作ったフィルタで修正すりゃいいだろ。 一生触りたくないプログラム言語で書かれたソフトのメンテなんて断ればいい。 「どうしても」と言われたら使い慣れたプログラム言語に移植する方向で交渉すればいい。 くだすれで質問した答えを意味も分からずコピペしたソフトを使わされる顧客は悲惨だな。 よほどCPANのモジュールぶちこんでもらった方が安心できるとオモワレ。 モジュールのインストールってそんなに難しいか? インストール先を自分の権限範囲にすればroot権限いらないモジュールも多いと思うが? ああ、>>918 みたいなクレクレ厨じゃ英語のメッセージは読めないんだな。納得。
922 名前:nobodyさん mailto:sage [2008/02/22(金) 20:36:06 ID:???] 「思うが」は典型的なバカの言葉だからあんま相手したくないけど、もう少し具体的に 言えば、配布されているCGI-Perlスクリプトを少し直して使いたい人が非常に多い。 こういう層に向かって「勉強しろ」はありえない。 その人はそこで節約した時間を社会奉仕にあてるかもしれない。 Perlはおれの方が少し詳しいかもしれないけど、Perl知ってりゃ偉いわけじゃなし。 ググレとかモジュールのご紹介とかアホを晒す暇があったら処理を書けばいいし、 それが出来ない奴は消えりゃいい。
923 名前:nobodyさん mailto:sage [2008/02/22(金) 20:39:07 ID:???] ああそうそう。こういうスレでググレだのLWPだのほざいてる奴は ソープランドでセックスしながら説教してるバカオヤジと同じだよ。 普通相手の人生なんて関係ないし興味もないよ。出た問いに答えればいい。 そういうスレなんだから。
924 名前:nobodyさん [2008/02/22(金) 20:47:34 ID:8Vusg7lr] ソープランドでセックスしながら説教してる奴なんていねーよwwwww
925 名前:nobodyさん mailto:sage [2008/02/22(金) 20:48:52 ID:???] くだすれで顧客とか言ってる奴って何なの?
926 名前:nobodyさん mailto:sage [2008/02/22(金) 21:26:16 ID:???] >925 くだすれで顧客とか言ってる奴=>918と>921で桶? >918 >客先のネットワークによって無保証のモジュールの導入を禁止されている。 >921 >くだすれで質問した答えを意味も分からずコピペしたソフトを使わされる顧客は悲惨だな。 どっちにしろ最初に客先とか言い出した>918がアフォだと思うが。
927 名前:nobodyさん mailto:sage [2008/02/22(金) 21:28:15 ID:???] >918 >921 >922 どこを縦読み?
928 名前:nobodyさん mailto:sage [2008/02/22(金) 21:40:20 ID:???] Perlの質問マダァー?
929 名前:nobodyさん mailto:sage [2008/02/23(土) 02:02:05 ID:???] > その人はそこで節約した時間を社会奉仕にあてるかもしれない。 何で話の流れとは関係の無い仮定の話が出てきてるの?w
930 名前:nobodyさん mailto:sage [2008/02/23(土) 02:07:11 ID:???] ま、Perl関連はまったりとしてきているので、統合もいいと思う。 例えばこっちと一緒にするとか。 Perlコーディング初心者質問スレ Part 56 pc11.2ch.net/test/read.cgi/php/1189939783/
931 名前:nobodyさん [2008/02/23(土) 03:04:09 ID:mggQq9GV] >>928 掲示板にレス番号を付けるにはどのようにすれば良いのでしょうか? 3.内容 2.内容 1.内容 みたいにして行きたいのですが...具体的に教えて下さい
932 名前:nobodyさん mailto:sag [2008/02/23(土) 03:27:22 ID:???] >>931 お前の書いたソースを出せと言っただろうが
933 名前:nobodyさん mailto:sage [2008/02/23(土) 03:31:09 ID:???] 『詭弁のガイドライン』 より、引用 5. 資料を示さず持論が支持されていると思わせる 例:(世界では、犬は哺乳類ではないという見方が一般的だ)
934 名前:921 mailto:sage [2008/02/23(土) 16:43:38 ID:???] >>922 >配布されているCGI-Perlスクリプトを少し直して使いたい人が非常に多い。 >こういう層に向かって「勉強しろ」はありえない。 スクリプト直すのに、意味も分からずコピペして直すのか。すげえな。 「客先の」とか言ってるって事は、それを金取って(もしくは客へのサービスとして)提供するわけだろ? 拾ってきたスクリプトに掲示板で質問してコピペで手直し加えて金儲けとか、せこすぎる。 そんなもん外注に出せよ。
935 名前:nobodyさん mailto:sage [2008/02/23(土) 16:44:46 ID:???] >>931 >908
936 名前:nobodyさん [2008/02/24(日) 03:14:09 ID:G7lDCCAr] >>932 nurupo.biz さんのdownloadの簡易コメントって奴です [2/24] 内容 みたいになるのを [2/24]3.内容 [2/24]2.内容 [2/24]1.内容 みたいにしたいんです
937 名前:nobodyさん mailto:sage [2008/02/24(日) 06:46:40 ID:???] >>936 ダウソしてソース見た。分かった事は下記の通り。 ・ データファイルには 日付<TAB>内容 が1件1行で入っていて、レス番は入ってない ・ 最大記事数を超えた分はデータファイルから消える ・ 新しいレスはファイルの先頭に追加される(古いレスほど後ろにある) ・ 表示する時に@DATA(配列)に全レスを読み込んでいる($DATA[0]がファイル内のレス総数) ・ sub print 内では、$begin、$end、$iにファイルの先頭から何行目かを示す数値が入る とりあえず考えてみた。 試してないから、ちゃんと動くかどうかは保証しない。 どんなレス番の振り方をしたいかわからんので思いつくのを並べてみた。 1. 表示してるページ内でのレス番 97行目 print "[$date] ". ($end - $begin - $i + 1) .". $text\n"; 2. ファイルに残ってるレス総数中のレス番 97行目 print "[$date] ". ($DATA[0] - $begin - $i +1) .". $text\n"; 3. それまでに書かれた全部の中でのレス番 何行も修正しなきゃならんしデータフォーマットも変わる(=今使ってるとしたらデータ読めなくなる)から、 最初からレス番機能が付いてる別のソフト探したほうがヨサゲ。 どうしてもってんなら考えてやらんこともない。
938 名前:nobodyさん mailto:sage [2008/02/24(日) 10:48:11 ID:???] printで連結演算子使うなんてもったいない。
939 名前:nobodyさん [2008/02/24(日) 16:26:23 ID:mX6RyV0T] >>937 わざわざ本当にありがとうございます 2.のファイルに残ってるレス総数中のレス番 で表示をしたいのですが、2.を試してみたところ [時間]3.内容 [時間]2.内容 [時間]1.内容 [時間]0.内容 [時間]-1.内容 といった風に、どんどんマイナスになってしまいます・・・
940 名前:nobodyさん mailto:sage [2008/02/24(日) 18:48:04 ID:???] >>939 スマソ。 97行目 print "[$date] ". ($DATA[0] - $i +1) .". $text\n";
941 名前:nobodyさん [2008/02/24(日) 19:21:05 ID:mX6RyV0T] >>940 97行目 print "[$date] ". ($DATA[0] - $i +1) .". $text\n"; でやっても>>939 と同様の結果になってしまいます・・・
942 名前:nobodyさん mailto:sage [2008/02/24(日) 20:13:54 ID:???] >>941 75行目 my $max = @DATA; 76行目 my $res_no = undef; 96行目と97行目の間に追加 $res_no = $max - $i + 1; 97行目 print "[$date] $res_no. $text\n"; でどうYO?
943 名前:nobodyさん [2008/02/24(日) 20:33:50 ID:mX6RyV0T] >>942 できました!!! すごいですヽ( ´ ∇ ` )ノ ワーイ 本当にありがとうございましたワーイ!!\(o ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄▽ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄o)/ワーイ!!
944 名前:nobodyさん mailto:sage [2008/02/24(日) 22:00:31 ID:???] printはカンマで出力しようよ。
945 名前:nobodyさん [2008/02/25(月) 00:21:00 ID:U/vtQwh8] 二重投稿を禁止するためには データを読み込んで1行目とフォームの内容が同じの時にエラー表示させればいいんですよね?
946 名前:nobodyさん mailto:sage [2008/02/25(月) 01:29:27 ID:???] >>945 そうだな。
947 名前:nobodyさん mailto:sage [2008/02/25(月) 01:33:39 ID:???] 連投防止のノウハウといったら、何があるかな?俺が思いつくものは・・・ ・時間が近すぎる場合、IPアドレスが同一かをチェック ・投稿内容が(数回前までと)同じかをチェック >>945 の方法だと、二重投稿を防止することは出来ても、あらしの連投は防止出来ないよね。 ま、質問自体が二重投稿を防止する方法なので、特に言うことは無いと思うが。
948 名前:nobodyさん mailto:sage [2008/02/25(月) 06:27:19 ID:???] print の出力をカンマで区切ると 画面出力命令のオンオフ切替が頻発し 連結してから纏めて出力した方が速い云々 ベンチマークしてないし本当かどうか知らんけどね
949 名前:nobodyさん mailto:sage [2008/02/25(月) 06:44:13 ID:???] そんな事より、printでカンマ使ってると、 仕様変更でその場で出力じゃなく変数に代入とかになるとウザイ。
950 名前:nobodyさん mailto:sage [2008/02/25(月) 09:45:58 ID:???] >>948 boobar.hp.infoseek.co.jp/bench/print.txt
951 名前:nobodyさん mailto:sage [2008/02/25(月) 22:07:36 ID:???] 大差ないってことか
952 名前:nobodyさん [2008/02/26(火) 22:28:43 ID:TAx5gJzC] ファイルのMIME-Typeってどうやって取得するの? PHPではmime_content_type()という関数があるみたいなんだけど、 Perlではどうやるの?
953 名前:nobodyさん [2008/02/27(水) 00:36:15 ID:NLm3jzH+] 掲示板で仮にログファイルを@LOGと置いて、それの最新の投稿を取り出すにはどうすれば良いの? @LOG[0]でやったんですがどうも違ったみたいで
954 名前:nobodyさん mailto:sage [2008/02/27(水) 02:31:06 ID:???] >>952 use CGI; my $q = new CGI; $q->uploadInfo($filename)->{'Content-Type'}; >>953 @LOG[@LOG-1]
955 名前:954 mailto:sage [2008/02/27(水) 02:37:08 ID:???] >>954 use CGI; my $q = new CGI; my $filename = $q->param('uploaded_file'); $q->uploadInfo($filename)->{'Content-Type'}; 1行書き忘れた。
956 名前:952,953 mailto:sage [2008/02/27(水) 03:43:32 ID:???] 馬鹿は無理に回答しなくていいよ
957 名前:nobodyさん mailto:sage [2008/02/27(水) 07:27:20 ID:???] 最新って・・・ 一番最後の要素ってことなら $LOG[$#LOG]
958 名前:nobodyさん mailto:sage [2008/02/27(水) 11:51:23 ID:???] $LOG[-1]でよくね?
959 名前:nobodyさん mailto:sage [2008/02/27(水) 18:16:19 ID:???] >>956 こういう質問するでも無く答えるでも無いゴミは何がしたいんだろうね?
960 名前:nobodyさん mailto:sage [2008/02/28(木) 04:40:38 ID:???] 君みたいな馬鹿を釣って遊ぶ
961 名前:952 [2008/02/28(木) 08:35:02 ID:5gTQ/iME] >>954-955 レスありがとう それはロダとかでファイルをアップロードした時の判別方法だよね? 書き忘れたんだけど、LWP::Simpleで外部画像を取得した時に判別する方法を教えてほしいです。 お願いします。
962 名前:nobodyさん mailto:sage [2008/02/28(木) 11:37:27 ID:???] >>961 LWP::Simple はシンプル故に、レスポンスヘッダと コンテントボディを同時には取得できない。 search.cpan.org/dist/libwww-perl/lib/LWP/Simple.pm 普通に LWP でリクエストを送って得たレスポンスからなら 同時に取得できる。 search.cpan.org/dist/libwww-perl/lwpcook.pod search.cpan.org/dist/libwww-per/lib/HTTP/Headers.pm PHP の Fileinfo() 相当のモジュールはこれ。 search.cpan.org/dist/File-MMagic-1.27/
963 名前:nobodyさん [2008/02/28(木) 17:15:11 ID:TKGGhpyN] formが <FORM ACTION="test.cgi" METHOD="POST"><INPUT TYPE="TEXT" NAME="f" cols="10"><INPUT TYPE="TEXT" NAME="id" cols="10"><INPUT TYPE="SUBMIT" VALUE="GO"> でtest.cgiが #!/usr/local/bin/perl use strict; use CGI; require"jcode.pl"; my $cgi=CGI::new(); my $f=$cgi->param('f'); my $id=$cgi->param('id'); @test = ($f,$id); $role = int(rand 6); my $html=<<"EOM"; <HTML> <HEAD> <TITLE>test</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=Shift-JIS"> </HEAD> <BODY> $test[$role] EOM print<<"EOM"; Content-type:text/html $html EOM exit; 1; という様に、formで受けた$fと$idをランダムで表示させたいのですがerror500 となってしまいます。パーミッションは合ってると思います。なぜなのでしょうか?
964 名前:nobodyさん [2008/02/28(木) 17:16:30 ID:TKGGhpyN] すいません $role = int(rand 2); です
965 名前:nobodyさん mailto:sage [2008/02/28(木) 17:52:02 ID:???] >>963-964 print<<"EOM"; Content-type:text/html $html EOM
966 名前:nobodyさん [2008/02/28(木) 17:58:13 ID:TKGGhpyN] >>965 改行が多いと認識されたため、空行は省いて書き込みしました ですので print<<"EOM"; Content-type:text/html $html EOM で書いてもerror500となります
967 名前:nobodyさん mailto:@testと$role sage [2008/02/28(木) 18:11:34 ID:???] >>966 #!/usr/local/bin/perl use CGI::Carp qw(fatalsToBrowser); use strict;
968 名前:nobodyさん mailto:sage [2008/02/28(木) 18:13:24 ID:???] >>967 いい人だ
969 名前:nobodyさん mailto:sage [2008/02/28(木) 18:18:37 ID:???] 「くだすれ」の由来を教えてください
970 名前:nobodyさん mailto:sage [2008/02/28(木) 18:21:36 ID:???] CGI::newってつい最近知り合いも書いてたんだけど どっかのサイトか本でそんな紹介されてるのかな? CGI.pmは問題ないんだけど、new CGI;かCGI->new;て書く癖つけとかないと 他のモジュールでクラスが渡らなくて泣きそうでない?
971 名前:nobodyさん mailto:sage [2008/02/28(木) 18:31:10 ID:???] うむ。
972 名前:nobodyさん [2008/02/28(木) 18:56:16 ID:TKGGhpyN] >>967 でやって、KENTの文法チェッカー使ったら [Thu Feb 28 18:54:48 2008] new.cgi: Global symbol "$cgi" requires explicit package name at new.cgi line 6. [Thu Feb 28 18:54:48 2008] new.cgi: Global symbol "$cgi" requires explicit package name at new.cgi line 7. [Thu Feb 28 18:54:48 2008] new.cgi: Global symbol "@test" requires explicit package name at new.cgi line 8. [Thu Feb 28 18:54:48 2008] new.cgi: Global symbol "$role" requires explicit package name at new.cgi line 9. [Thu Feb 28 18:54:48 2008] new.cgi: Global symbol "@test" requires explicit package name at new.cgi line 10. [Thu Feb 28 18:54:48 2008] new.cgi: Global symbol "$role" requires explicit package name at new.cgi line 10. [Thu Feb 28 18:54:48 2008] new ゥらは。 猿だって仲間から餌を分けてもらう時は申し訳無さそうな顔するんだよ。ヘラヘラ笑いながら近づいてったら殴り殺されんぞ。 猿だったら今頃とっくに死んでんだよお前。そんな態度で今まで。研修で散々言われたよな。謝る時は申し訳無さそうな顔をしろって。 そういう学校じゃ受けられない教育を受けておきながら、社会人を経験しなきゃ得られない知識を貰っておきながら、 何にも生かせてないんだよ今のお前は。学生のサークルごっこじゃないんだから。もっと四六時中危機感を持って生きてなきゃ駄目だよ。いい加減いつまで学生気分じゃ。
973 名前:nobodyさん mailto:sage [2008/03/02(日) 03:52:46 ID:???] >>992 ためしに$LOG[1]を表示してみ。
974 名前:nobodyさん [2008/03/02(日) 07:56:37 ID:UDBaDi65] >>994 >知識ってのはな、社会人に取って金と同じく貴重な財産なんだよ。 それを超初心者に教えてくれるのがこのスレッドの意義ですよね? >社会で必要とされる知識ってのはな、本になんか載ってない事ばかりなんだよ。全部人から人へ、直接のコミュニケーションを介して伝わって来たモンなんだ。 掲示板というコミュニケーションを介して聞いてますし、この内容は僕の持ってる2つのPerlに関する書籍にはありませんでした。 >猿だったら今頃とっくに死んでんだよお前。 猿じゃないです。人間です。人間と猿のDNAはたかが2%の違いといわれてますが、それは大きな差です。猿=人間という発想はおかしいかと。 >いい加減いつまで学生気分じゃ。 当て水量でモノを言わないでください。あなたの投稿からは僕があたかも社会人であるかのように見えますけど、僕まだ中学3年生です。 まあ態度という点では気をつけなきゃならないのかなとは思いましたが、あなたには>>1 に書かれているような優しさや、このスレッドの意義を良く理解してもらいたいものです。 >>995 ありがとうございます!できました! ただDATA[1]だけでは、すべてのフォームの内容が取り出されて、うまく$FORM{'comment'}の部分だけを抽出できません。。
975 名前:942=995 mailto:sage [2008/03/02(日) 16:20:53 ID:???] >>996 なあ、ガキならガキらしく、オッサンには敬意を払えよ。 あと、試行錯誤の形跡が見れないと誰も相手してくれないぞ。 悩めるだけ悩め。そしてどう悩んだか見せろ。話はそれからだ。 ヒントは、元ソースの94行目 for から99行目 }まで。 ここで、$dateには日付、$textには内容が入ってるって事。 そっから先は自分で少し考えてみろ。 分からなくなったら、自分でどう考えてどこが分からないかを書けよ。 自分じゃ何も試さないようじゃ、漏れも付き合いきれない。 いい加減甘やかしすぎだと思えてきた。
976 名前:nobodyさん mailto:sage [2008/03/02(日) 16:39:55 ID:???] >>997 お前、甘すぎ。バカガキは放置が基本。
977 名前:nobodyさん [2008/03/02(日) 17:44:58 ID:eMvpxgfI] >>999 お前糞すぎワロタwww >>998 神様すぎワロタwww
978 名前:nobodyさん mailto:sage [2008/03/02(日) 17:48:04 ID:???] 人類に平和が訪れますように
979 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。