1 名前:nobodyさん mailto:sage [2008/02/25(月) 19:25:51 ID:???] Perlのコーディングで困ってる人のスレです。 【投稿する際の注意】 質問するときは内容をよく吟味してから投稿してください。 「コマンドの意味がわかんない」とかはマニュアル見ましょう。 回答者さんは何でも屋じゃありません。 1: 自分はこういう事がしたい。 2: それでこんな風にやってみたが・・・ 3: こんなエラーが出て上手く行かなかった。 最低でも1と3が無いと誰も答えられないよ。 良い回答は良い質問から。一緒に勉強しましょう。 お勧めサイトは >2 以降 前スレ pc11.2ch.net/test/read.cgi/php/1189939783/ 過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
399 名前:>>393 [2008/04/30(水) 18:26:54 ID:9OxUbc+M] 皆さんどうもありがとうございます。 確かに>>398 さんの言うとおりです。わざわざフォローして下さった親切なお二方に感謝します。
400 名前:nobodyさん mailto:sage [2008/04/30(水) 18:38:47 ID:???] すいません。 どうも下記例のforeachのループの中で、さらにwhileのループを 回せないのですが、たぶん簡単な理由だとは思うのですが、 お助け下さい。 他にもこのようなforeachのループの中で、foreachのループも回せないと 思います。 foreach $number(@number){ while (<F2>) { print "$number\n"; if (/$number/) { print "マッチしました\n"; print F3; } } }
401 名前:nobodyさん mailto:sage [2008/04/30(水) 19:09:01 ID:???] >>400 <F2>で同じ行数を複数回とりだしたい感じ? だとしたらヒント:seek
402 名前:nobodyさん mailto:sage [2008/04/30(水) 19:10:23 ID:???] >>400 1回目のforeachが終わったときに<F2>が空になる
403 名前:nobodyさん mailto:sage [2008/04/30(水) 19:48:00 ID:???] whileに入る前に開きなおすのも手だな
404 名前:nobodyさん [2008/04/30(水) 20:17:59 ID:GavbPT5W] 一回目のループで開いてるファイルのファイル位置が終端にあるため 2周目はファイルを読み込むループが発生しません 解決法は2つ ・While の直前でファイルを開くようにする ・While の直前で seek を使ってファイル位置を先頭に戻す です。 負荷は後者の方が幾分か軽いです
405 名前:nobodyさん mailto:sage [2008/04/30(水) 20:28:06 ID:???] my @lines = <F2>; 場合によってはこれもありかなと思った。無駄にメモリ食うけど。
406 名前:nobodyさん mailto:sage [2008/04/30(水) 20:47:41 ID:???] whileの中でforeachじゃ駄目なん?
407 名前:400 mailto:sage [2008/04/30(水) 23:43:57 ID:???] すいません。seekというのは初めて知りました。 1回目のforeachが終わったときに<F2>が空になる ってマジですか。 例のループにseekを追加して、動くようにしていただけませんか? お願いします。
408 名前:nobodyさん mailto:sage [2008/05/01(木) 01:39:53 ID:???] >>400 初めてのPerlと続・初めてのPerl買えばいいよ。
409 名前:nobodyさん mailto:sage [2008/05/01(木) 12:48:54 ID:???] コストの高い I/O をメインにループさせたほうがいいっすね open(F2, "hoge.txt"); while (<F2>) { foreach $number(@number){ 〜 } } close(F2);
410 名前:nobodyさん mailto:sage [2008/05/01(木) 13:18:21 ID:???] >>407 自分でやれ。 できないなら金払って業者つかえ。 代行するところじゃなく、自分で作るためのヒントを与えるところだ。 ここまでヒントがそろったらあとは調べながらできる。
411 名前:nobodyさん mailto:sage [2008/05/01(木) 13:51:56 ID:???] あとね、初心者なんだから記述を略すな ちゃんと意味がわかってから略すように汁
412 名前:400 mailto:sage [2008/05/01(木) 23:38:01 ID:???] >409 Thx 明日試してみます。seek(F2, 0, 0)では動かなかった。 >410 GW中くらい、自宅警備を止めてみたら? >411 省略ハァ? 汁?
413 名前:409,411 mailto:sage [2008/05/01(木) 23:46:36 ID:???] そういう口調ならてめぇで解決しろよ能無しチンカス糞野郎
414 名前:nobodyさん mailto:sage [2008/05/02(金) 00:07:00 ID:???] > 省略ハァ? 汁? ワロタ
415 名前:nobodyさん mailto:sage [2008/05/02(金) 05:46:04 ID:???] まあ、なんだ 「ものを学ぶ姿勢」ってやつを身に着けないと成長できないよね
416 名前:nobodyさん mailto:sage [2008/05/02(金) 08:12:32 ID:???] きっとこの人はこれからさきの人生も困ったら自分の力で解決しようとせず人を頼りにして生きていくんだろうな。 これ10代だったら笑って流せるけど、20代以上で本気で言ってたら深刻ww
417 名前:nobodyさん mailto:sage [2008/05/02(金) 10:22:44 ID:???] 定期的に沸くから慣れろwww
418 名前:nobodyさん mailto:sage [2008/05/02(金) 10:32:20 ID:???] 自分の書いてるのが略記だって事すらも気がついてないんだろうな あと、これはおそらくは宿題だなw
419 名前:nobodyさん mailto:sage [2008/05/02(金) 11:18:57 ID:???] 延々と質問者を叩く・・・キモッ とっくに質問者は消えてることに気づけよ禿げ
420 名前:nobodyさん mailto:sage [2008/05/02(金) 12:28:02 ID:???] >>419 僕の予想が確かなら、質問者なら君のパソコンのモニタの前に居るよ。
421 名前:nobodyさん mailto:sage [2008/05/02(金) 12:37:17 ID:???] >>420 はぁ?俺か? ちゃうっちゅーねん あほか
422 名前:nobodyさん mailto:sage [2008/05/02(金) 13:12:28 ID:???] ノリが一緒でわろたwww
423 名前:nobodyさん mailto:sage [2008/05/02(金) 13:34:20 ID:???] お前の粘着っぷりのほうがおもろい 医者いったほうがええんちゃうかw リアルでアレかw
424 名前:nobodyさん mailto:sage [2008/05/02(金) 13:43:58 ID:???] 日本語が変でござるよ
425 名前:nobodyさん mailto:sage [2008/05/02(金) 14:15:25 ID:???] ネット上での似非関西弁って餓鬼が凄む時に巻き舌になるのに似てる
426 名前:nobodyさん mailto:sage [2008/05/02(金) 14:47:41 ID:???] それは言わないのが優しさだったのに・・・
427 名前:nobodyさん mailto:sage [2008/05/02(金) 15:08:52 ID:???] 質問者以外が必死になる理由が見つからない
428 名前:nobodyさん mailto:sage [2008/05/02(金) 18:44:35 ID:???] ぼくが一番、perlをうまく操れるんだ!
429 名前:nobodyさん mailto:sage [2008/05/02(金) 23:07:56 ID:???] >>427 思い込み激しいとか言われへん? 回りに迷惑かけても気づかないタイプだな 回答もしないのに罵倒するのはお前だけやろ 頭変すぎてわからんかw
430 名前:nobodyさん mailto:sage [2008/05/02(金) 23:28:43 ID:???] >>429 そんならお前が回答してやれよ。 出来るもんなら。www
431 名前:nobodyさん mailto:sage [2008/05/02(金) 23:45:27 ID:???] >>429 なんでそんなに必死なん?
432 名前:nobodyさん mailto:sage [2008/05/02(金) 23:59:11 ID:???] GWで暇なんだろ
433 名前:nobodyさん mailto:sage [2008/05/03(土) 02:50:47 ID:???] GW、通勤とか会社の中とか人が少なくていいよね。
434 名前:nobodyさん mailto:sage [2008/05/03(土) 03:07:39 ID:???] いいですよね。客からの電話も鳴りませんし。
435 名前:nobodyさん mailto:sage [2008/05/03(土) 10:04:09 ID:???] 泣いてませんか?
436 名前:nobodyさん mailto:sage [2008/05/03(土) 18:44:15 ID:???] 内線もならないよね。
437 名前:nobodyさん mailto:sage [2008/05/03(土) 19:02:10 ID:???] でもトイレに花子さん居るよね。
438 名前:フー子 [2008/05/04(日) 19:36:48 ID:798fbSDd] Perl の CGI::Base とか CGI::Request モジュールって、 何のためにあるの?どうやって使うの?
439 名前:nobodyさん mailto:sage [2008/05/04(日) 19:50:31 ID:???] >>398 初心者質問スレで何言ってるんだ。
440 名前: ◆TWARamEjuA mailto:sage [2008/05/04(日) 20:01:51 ID:??? BE:3267465-2BP(7082)] >>438 君かわいいね。 ・・・ぶつ森のスレかとオモタorz... ttp://search.cpan.org/~mrjc/cvswebedit-v2.0b1/cvs-web/lib/CGI/Base.pm ttp://search.cpan.org/~mrjc/cvswebedit-v2.0b1/cvs-web/lib/CGI/Request.pm を眺めてみればよろしいかと。 例文を眺めればだいたい何がしたいのかが見えてくるかと。 英文は無理に読まなくてもよろしいかと。
441 名前:nobodyさん mailto:sage [2008/05/04(日) 20:22:15 ID:???] pmという拡張子、ガクブル
442 名前:nobodyさん [2008/05/05(月) 14:08:42 ID:GD7pTJpy] CGI掲示板を自作していますが、書き込み送信メールのSendmailによる送信処理でつまづきました。 以下のように記述すると、管理人である自分には登録メールが送られますが、 管理人以外に、書き込みした人にも登録確認メールが送られるようにしたいんです。 #Sendmailによる送信処理 if (open(MAIL,"| $sendmail -t")){ print MAIL "X-Mailer:legend2\n"; print MAIL "To: $administrator\n"; print MAIL "Errors-To: $administrator\n"; print MAIL "From: $administrator\n"; print MAIL "Subject: $subject\n"; print MAIL "MIME-Version: 1.0\n"; print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n"; print MAIL "Content-Transfer-Encoding: 7bit\n"; print MAIL "$mail_comment\n"; print MAIL "\n"; close(MAIL); } } 以下のどれかを使うのでしょうか? print SENDMAIL "From: $sender <$from>\n"; print SENDMAIL "To: $to\n"; print SENDMAIL "Cc: $cc\n"; print SENDMAIL "Bcc: $bcc\n"; どうすれば良いか御教授下さい。宜しくお願いします。
443 名前:nobodyさん mailto:sage [2008/05/05(月) 14:20:17 ID:???] >>442 # CGIは板違いだが、この処理自体はCGIと関係がないので。 if文のブロックを、Toヘッダだけ「書き込みした人」のアドレスにしてもう一度処理するか、 Toを「書き込みした人」のアドレス、CcまたはBccを「管理人」のアドレスにするか。 Errors-Toヘッダはobsoluteだった気がします。 envelopeアドレスを指定するべし。sendmailに-fオプションに続けてアドレスを指定する。 ttp://sonic64.com/2004-11-07.html
444 名前:nobodyさん mailto:sage [2008/05/05(月) 16:36:56 ID:???] つーか、今時、open(MAIL,"| $sendmail -t")やErrors-To:とか前世紀に 書かれた古文書を元にCGI作るな。めーわくだ。
445 名前:nobodyさん mailto:sage [2008/05/05(月) 18:19:44 ID:???] 批判だけならゾウリムシにもできる 例文または参考 URL ぐらい提示すればいいじゃない
446 名前:nobodyさん mailto:sage [2008/05/05(月) 19:20:18 ID:???] ただでは断る。
447 名前:nobodyさん mailto:sage [2008/05/05(月) 20:15:30 ID:???] >>446 しね
448 名前:nobodyさん mailto:sage [2008/05/05(月) 21:17:57 ID:???] 役立たずなテキストに騙される処を指摘してやったのに随分な言い草だな。
449 名前:BEET mailto:X [2008/05/05(月) 21:36:20 ID:???] z-z.jp/index.cgi ここのスクリプト抜きたいんですけど、どうしたらいいのですか?
450 名前:nobodyさん mailto:sage [2008/05/05(月) 21:39:44 ID:???] >>449 むり
451 名前:nobodyさん mailto:sage [2008/05/05(月) 21:57:12 ID:???] >>449 ハッキングすればできるかもしれない。
452 名前:nobodyさん mailto:sage [2008/05/05(月) 22:16:06 ID:???] スクリプト抜くってどういう意味なんですか?
453 名前:nobodyさん mailto:sage [2008/05/05(月) 22:44:54 ID:???] ハァハァするんじゃないかな。
454 名前:nobodyさん [2008/05/05(月) 23:21:45 ID:V/xhfGfA] ftpで接続しないとスクリプトは抜けないでしょう
455 名前:BEET mailto:BEET [2008/05/06(火) 00:42:09 ID:???] 回答ありがとう。 ハッキングって.. 簡単なのかな? ソフトはできるだけ使いたくないな
456 名前:BEET mailto:progammer.co.jp [2008/05/06(火) 00:45:09 ID:???] 追記なんですけど このレンタル掲示板の管理パスをクラックされて、改竄されたんだけど、どうやってクラックしてるのかな?
457 名前:nobodyさん [2008/05/06(火) 00:49:33 ID:fJq/GBDg] (`・ω・´)??
458 名前:nobodyさん mailto:sage [2008/05/06(火) 00:50:15 ID:???] >>455-456 >>1 を100回声を出して読め。 読み終わったら610と三ポールのミックスカクテル飲め。
459 名前:nobodyさん [2008/05/06(火) 00:51:09 ID:fJq/GBDg] (`・ω・´)ソフト使ってるだろww
460 名前:nobodyさん mailto:sage [2008/05/06(火) 09:09:26 ID:???] Windowsローカルに入れたActivePerlで cpan > install XML::ATOM::Feed したのに、それを500エラーになってしまいます (useしてるところをコメントアウトすると通る) moduschで見たら「存在しないか、ロード出来ない」っぽい なぜでしょうか…?
461 名前:nobodyさん mailto:sage [2008/05/06(火) 16:59:23 ID:???] >>442 BCCで目的は達成できると思うけど、 自分のメールアドレスを、スパムを送りたい先などにされると 簡単にスパムの踏み台になるから気をつけてね。
462 名前:nobodyさん [2008/05/06(火) 22:50:17 ID:wGWcI8Lv] AUTOLOADってのを初めて使ってみたんです。 未定義の関数を読んだら無事AUTOLOADが呼ばれたんですが、 変数$AUTOLOADを参照するとGlobal symbol〜っていうエラーが出てしまいます。 AUTOLOADを使う場合はno strictしていいものでしょうか。
463 名前:nobodyさん mailto:sage [2008/05/07(水) 00:05:35 ID:???] use strict; use warnings; sub AUTOLOAD { our $AUTOLOAD; print $AUTOLOAD; } foo();
464 名前:nobodyさん mailto:sage [2008/05/10(土) 23:18:32 ID:???] URL転送なんだけど今こうしてます↓ #!/usr/bin/perl print "Location: *****\n\n "; これに転送するまでHTMLの<meta content="x">みたいに 一定時間ウェイトかける事って出来るのでしょうか?
465 名前:nobodyさん mailto:sage [2008/05/10(土) 23:19:01 ID:???] いいえ
466 名前: ◆TWARamEjuA mailto:sage [2008/05/11(日) 01:16:36 ID:???] 転送するまでひと寝入りする。
467 名前:nobodyさん mailto:sage [2008/05/11(日) 02:11:14 ID:???] >>464 いい事いうじゃねえか。 出来るんだな? 今すぐ頼むぞ。
468 名前:nobodyさん [2008/05/11(日) 13:18:10 ID:yMOlxpUv] print qq{あいうえお @{[1+1]} かきくけこ }; 無名配列のリファレンスとデリファレンスを使ってクォート内に式を埋め込めます。 これ気に入っててよく使うんですが、これのスカラーリファレンス版ってできませんか? \$() 無名スカラーって存在しないんですかね。 いやそもそも@{[]}に式を埋め込めるのはそこをクォート内ではないと認識するからなわけで。 いや、う〜ん。確かこれなんかいい方法があったような期がするんですが。
469 名前:nobodyさん [2008/05/11(日) 23:02:44 ID:Vy6R2X5C] Perlスクリプトの処理が全て完了する前に クライアントとの接続を明示的にクローズする方法は ありませんでしょうか? 以下のようなことが実施したいです。 どなたかよろしくお願いします。 #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<html><body>なんちゃら</body></html>"; ## ここで明示的にクライアントとのConnectionをクローズしたい。 ## ここからクライアント側に影響がない時間がかかる別の処理を実施したい。 &HokaNoShori(); exit;
470 名前:nobodyさん [2008/05/12(月) 01:08:40 ID:CYOIx0A2] perlで重い処理をさせるのが困ります。 例えばパソコンの30%の能力だけ使わせるとかってできませんか?
471 名前:nobodyさん mailto:sage [2008/05/12(月) 01:16:51 ID:???] >>470 それは知らないけど、nice付けて起動とかしてみては?
472 名前:nobodyさん mailto:sage [2008/05/12(月) 03:09:36 ID:???] >>468 qq{ ${\do {1+3}} }
473 名前:nobodyさん mailto:sage [2008/05/12(月) 04:50:44 ID:???] >>469 close(STDOUT);
474 名前:nobodyさん mailto:sage [2008/05/12(月) 10:21:48 ID:???] >>469 fork
475 名前:nobodyさん mailto:sage [2008/05/12(月) 16:03:50 ID:???] WindowsXPでActivePerlを使って クリップボードにあるテキストに処理を加えて クリップボードに戻すプログラムを作ろうとしています。 Win32::Clipboardを使用しているのですが、Unicodeだと化けてしまいます。 Unicodeでも化けないで処理できる方法はあるでしょうか?
476 名前:nobodyさん [2008/05/12(月) 16:08:19 ID:CYOIx0A2] >>472 思い出した! print qq{ ${ \(1+1)} }; でしたね。 なるほどなるほど。${}これでデリファレンスができるというわけだ。
477 名前:nobodyさん mailto:sage [2008/05/12(月) 17:20:30 ID:???] Win32::Clipboard が受け取るのは Shift_JIS 固定っぽいです Encode でShift_JIS にして渡してみたらどうりますか?
478 名前:nobodyさん mailto:sage [2008/05/12(月) 18:00:21 ID:???] >>477 回答ありがとうございます。 Shift_JISにない文字も処理したかったので Win32::Clipboardでは無理と言うことですね。 Win32::Clipboard以外でクリップボードを利用できるものはありますか?
479 名前:nobodyさん mailto:sage [2008/05/12(月) 20:22:51 ID:???] 文字化けしないようにする方法教えてください use LWP::Simple; my $page = get('hogehogehoge.jp/ '); getprint('hogehogehoge.jp/ '); print $page
480 名前:nobodyさん mailto:sage [2008/05/12(月) 21:36:53 ID:???] >>479 ヒント:Jcode
481 名前:nobodyさん mailto:sage [2008/05/13(火) 01:04:45 ID:???] perl 文字化け でググれカス
482 名前:479 mailto:sage [2008/05/13(火) 03:44:42 ID:???] エスジス保存しておいたソースファイルをEUCに変更保存してみたけど 何も変わんないですよ
483 名前:nobodyさん mailto:sage [2008/05/13(火) 06:45:22 ID:???] >>482 「ソースファイル」ってのが上の us-ascii で足りそうなコードのことだったら SJIS → EUC しても何も変わんないですよ。 環境その他も書かれてないし、変換に興味なさそうなので perl hoge.pl > test.html して「まともなエディタで見れば文字化けしない」でいいのかも。
484 名前:nobodyさん mailto:sage [2008/05/13(火) 13:57:38 ID:???] >>464 Location:を表示する前にwaitをいれればおk
485 名前:nobodyさん mailto:sage [2008/05/17(土) 19:31:00 ID:???] $obj = new Class; $obj = Class->new(); この二つの違いは何ですか?
486 名前:nobodyさん mailto:sage [2008/05/17(土) 20:03:56 ID:???] おんなじ。どっちのClassクラスのコンストラクタを呼んでるだけ。 Classってサブルーチンが定義されてるときに問題がおきることがあるので、 $obj = Class->new; の形式のほうが推奨されるけど。
487 名前:nobodyさん mailto:sage [2008/05/17(土) 23:09:13 ID:???] >486 ありがとんです
488 名前:nobodyさん mailto:sage [2008/05/18(日) 11:25:25 ID:???] 俺はコンストラクタを呼び出すときだけはnew Classってしてあとはぜんぶ$obj->sub()ってするかな。
489 名前:nobodyさん mailto:sage [2008/05/19(月) 06:36:14 ID:???] なんだか、急にCPANでエラーで全く動かなくなったので、いろいろ調べてみたら、 ERRNO.pmが、MSWin32-x86-multi-thread-5.00(Windows Updateでいつの間にか変わってた)を弾いてた。 とりあえず、ERRNO.pmを書き換える(!)ことで対処したんだけど、 他に同じトラブルあってる人いません?
490 名前:がんちゃん mailto:sage [2008/05/19(月) 10:02:27 ID:???] perlでImage::MagickのAnnotateを使って画像と文字を合成できたのですが 出来上がった画像を右クリックして保存しましたが そのファイルが開けません。 何が原因でしょうか。宜しくお願いします。
491 名前:nobodyさん mailto:sage [2008/05/19(月) 11:27:27 ID:???] >>490 開けないとは具体的にどういうこと? 単に、変なファイル名(拡張子)で保存してしまって、ダブルクリックしても関連づけの問題で開けないってことではなくて?
492 名前:がんちゃん mailto:sage [2008/05/19(月) 12:15:34 ID:???] うっせーよ!それぐらい分かるっての!腐った回答してんじゃねぇよwww
493 名前:がんちゃん mailto:sage [2008/05/19(月) 12:29:05 ID:???] * * * + うそです n ∧_∧ n + (ヨ(* ´∀`)E) Y Y *
494 名前:がんちゃん mailto:sage [2008/05/19(月) 12:32:08 ID:???] なんだここの人たちはこれぐらいの質問も答えられないの? 回答者が初心者のスレだったのか・・・
495 名前:がんちゃん mailto:sage [2008/05/19(月) 12:35:01 ID:???] * * * + うそです n ∧_∧ n + (ヨ(* ´∀`)E) Y Y *
496 名前:nobodyさん mailto:sage [2008/05/19(月) 14:06:12 ID:???] print "Content-type: image/jpeg\n\n"; binmode STDOUT; $image->Write('jpeg:-'); ソース晒せや。
497 名前:nobodyさん mailto:sage [2008/05/19(月) 14:11:40 ID:???] なにこの流れ・・・
498 名前:nobodyさん mailto:sage [2008/05/19(月) 15:48:41 ID:???] 質問の仕方も知らないというか、質問の文章すら正しく書けない馬鹿が多すぎ Perl云々の前に日本語学校行け
499 名前:nobodyさん mailto:sage [2008/05/19(月) 15:59:52 ID:???] \E