1 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:01:21 BE:176880454-DIA(100004)] "The duct tape of the Internet" こと、Perlについての質問箱です。 "There's more than one way to do it" ということで、 Perlの奥深さについて皆で語り合い、追求してまいりましょう。 CGIについての質問は板違いです。WEBプログラミング板でどうぞ。 CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。 ( WEBプログラミング板 pc11.2ch.net/php/ ) CGIの質問は答えが Perlと全然関係ない話に帰着する場合が 多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。 このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。 スレ違いの質問にはスルーか、速やかな誘導をお願いします。 www.perl.org/get.html ● 2008/04/20 現在の最新版: 5.10.0 ● 2008/04/20 現在の開発版: 5.9.5 ▼ 前スレ Perlについての質問箱 34箱目 pc11.2ch.net/test/read.cgi/tech/1199977642/
2 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:06:37 BE:238787993-DIA(100004)] [プログラミング自体の経験が無い奴はまずココを読め] Perlプログラミング講座: ttp://www.site-cooler.com/kwl/perl/ [本] リャマ: ttp://www.oreilly.co.jp/books/4873111269/ 駱駝: ttp://www.oreilly.co.jp/books/4873110963/ Effective Perl: ttp://www.ascii.co.jp/books/books/detail/4-7561-3057-7.shtml (修正) クックブック: ttp://www.oreilly.co.jp/books/4873112028/ Perl ベストプラクティス: ttp://www.oreilly.co.jp/books/4873113008/ Perl Hacks: ttp://www.oreilly.co.jp/books/9784873113142/ [オンラインマニュアル] 最新のドキュメント: ttp://search.cpan.org/dist/perl/ perl5.8.xのドキュメント(一部): ttp://www.kt.rim.or.jp/~kbk/perl-5.8/ perl5.005_03 のドキュメント: ttp://www.kt.rim.or.jp/~kbk/perl5.005/ 日本語ドキュメント検索: ttp://www.cpan.jp/search.cgi (停止中) perldoc.jp: ttp://www.perldoc.jp/ perldoc.com: ttp://www.perldoc.com/
3 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:09:13 BE:123817027-DIA(100004)] [モジュール] CPAN.com: ttp://search.cpan.org/ 河馬屋二千年堂: ttp://homepage3.nifty.com/hippo2000/ [テクニック] Perlメモ: ttp://www.din.or.jp/~ohzaki/perl.htm Perlのページ: ttp://homepage1.nifty.com/nomenclator/perl/ Perlの小技: ttp://homepage3.nifty.com/hippo2000/perltips/index.htm [Perl 5.8 Unicodeメモ] www.rwds.net/kuroita/program/Perl_unicode.html (修正) ttp://www.namazu.org/~tsuchiya/perl/perl-5.8.html ttp://www.lr.pi.titech.ac.jp/~abekawa/perl/perl_unicode.html
4 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:12:33 BE:636768689-DIA(100004)] [過去スレ1] 1 ttp://pc.2ch.net/tech/kako/1017/10177/1017736187.html 2 ttp://pc3.2ch.net/tech/kako/1033/10336/1033688230.html 3 ttp://pc2.2ch.net/tech/kako/1041/10412/1041205885.html 4 ttp://pc2.2ch.net/tech/kako/1048/10485/1048519394.html 5 ttp://pc5.2ch.net/tech/kako/1053/10530/1053053082.html 6 ttp://pc5.2ch.net/tech/kako/1060/10606/1060689008.html 7 ttp://pc2.2ch.net/test/read.cgi/tech/1068051036/ (事故により消滅) 8 ttp://pc2.2ch.net/test/read.cgi/tech/1074151549/ (事故により消滅) 9 ttp://pc5.2ch.net/test/read.cgi/tech/1079114157/ 10 ttp://pc5.2ch.net/test/read.cgi/tech/1085564875/ 11 ttp://pc5.2ch.net/test/read.cgi/tech/1090889189/ 12 ttp://pc5.2ch.net/test/read.cgi/tech/1094579428/ 13 ttp://pc5.2ch.net/test/read.cgi/tech/1097851764/ 14 ttp://pc5.2ch.net/test/read.cgi/tech/1101649274/ 15 ttp://pc5.2ch.net/test/read.cgi/tech/1105953092/ 16 ttp://pc8.2ch.net/test/read.cgi/tech/1111034732/ 17 ttp://pc8.2ch.net/test/read.cgi/tech/1117870308/ 18 ttp://pc8.2ch.net/test/read.cgi/tech/1121804136/ 19 ttp://pc8.2ch.net/test/read.cgi/tech/1126977805/ 20 ttp://pc8.2ch.net/test/read.cgi/tech/1131286411/
5 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:13:54 BE:265320656-DIA(100004)] [過去スレ2] 21 ttp://pc8.2ch.net/test/read.cgi/tech/1134327348/ 22 ttp://pc8.2ch.net/test/read.cgi/tech/1138519327/ 23 ttp://pc8.2ch.net/test/read.cgi/tech/1141742901/ 24 ttp://pc8.2ch.net/test/read.cgi/tech/1146022352/ 25 ttp://pc8.2ch.net/test/read.cgi/tech/1149259409/ 26 ttp://pc8.2ch.net/test/read.cgi/tech/1153412251/ 27 ttp://pc8.2ch.net/test/read.cgi/tech/1157874614/ 28 ttp://pc8.2ch.net/test/read.cgi/tech/1162273941/ 29 ttp://pc11.2ch.net/test/read.cgi/tech/1166708139/ 30 ttp://pc11.2ch.net/test/read.cgi/tech/1173880452/ 31 ttp://pc11.2ch.net/test/read.cgi/tech/1181500187/ 32 ttp://pc11.2ch.net/test/read.cgi/tech/1186995713/ 33 ttp://pc11.2ch.net/test/read.cgi/tech/1192463997/ 34 ttp://pc11.2ch.net/test/read.cgi/tech/1199977642/
6 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:17:33 BE:636768689-DIA(100004)] 少しミスりました、すみません。 テンプレは以上だと思います。
7 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:37:30 ] >>1 おつ
8 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 21:59:21 ] 柚縁故とかの説明は無しにしたのね
9 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 22:05:44 ] だいぶまえからないよ
10 名前:デフォルトの名無しさん [2008/04/20(日) 23:21:25 ] エロ画像収集言語 perl
11 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:34:06 ] sedとawkさえあれば何も困らないことに気が付いた
12 名前:デフォルトの名無しさん [2008/04/21(月) 01:04:51 ] perlでクライアントの2chブラウザ作ったけど見たい人いますか? 4時間ほどで作りました
13 名前: ◆TWARamEjuA mailto:sage [2008/04/21(月) 01:35:41 BE:3049474-2BP(7082)] (´-`).。oO(前スレが埋まる前に次ぎスレを立てて案内を入れて欲しいよなぁ。。。)
14 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 07:15:16 ] お前がやれ
15 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 18:03:48 ] perlの-MO=オプションってなんなんですか? perlrunやperlcompile見ても -MO そのものの説明は全然のってないんですが
16 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 18:08:05 BE:212257038-DIA(100004)] "O" と言うモジュールがあるんだよ
17 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 18:30:53 ] perldoc O だけで説明が出ますよ。探し回ってしまうのはなんとなくわかる。
18 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 18:35:21 ] ところが、perl -MO=Deparse とかの場合 perldoc B::Deparse なんだなこれが。
19 名前:17 mailto:sage [2008/04/21(月) 18:45:42 ] そこは perldoc O すれば 「-MO=Hoge すると B::Hoge が、だな」とか書かれてたはずだからいいか、と 思い込んでみました。
20 名前:l15 mailto:sage [2008/04/21(月) 18:48:58 ] ありがとうございました perlccで使えるモジュールみたいなもの(B::x)をperlコマンドから参照するアダプタモジュールが Oっていう名前でそれを-Mオプションでuseしていると理解しました =...はOモジュールのオプションですね 道理で-MOで幾ら探してもでてこないわけだ…orz
21 名前:18 mailto:sage [2008/04/21(月) 18:51:16 ] 確かにCONVENTIONSとかに書かれてるね。 きちんと読みゃ問題ないんだが、オレはハマったw
22 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 18:52:54 ] リロードしてから投げりゃよかった。 >>21 は>>19 へのレス。
23 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 16:32:51 BE:238789139-DIA(100004)] #!/usr/bin/perl use utf8; sub スイーツ { my $argument = shift; utf8::encode($argument); my($package, $routine) = (caller 0)[0, 3]; { no utf8; $routine =~ s/\Q$package\E:://; printf("%s(%s)", $routine, $argument); } } スイーツ(笑) __END__ codepad.org/1jJzeCja スイーツ関数出来たよー
24 名前:デフォルトの名無しさん [2008/04/25(金) 10:46:58 ] cat a.txt b.txt c.txt > d.txt と同等のことをする Perl モジュールはあるでしょうか? なるべく、 while (<FH>){print;} の繰り返しを避けたいのですが。 それとも (open FH, "cat a.txt b.txt c.txt |"); のようにするのでしょうか。
25 名前:デフォルトの名無しさん [2008/04/25(金) 12:35:24 ] >>24 perl -ne print a.txt b.txt c.txt > d.txt
26 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 12:38:26 ] これ使えば ttp://search.cpan.org/~dconway/Perl6-Slurp-0.03/Slurp.pm print slurp $_ for @files; とかでできるんじゃね? ってか何がやりたいの? なんで繰り返しを避けたいの? 質問するときはそれを書くようにしましょう。
27 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 12:39:13 ] >>25 どうもありがとうございます。 言葉が足りなくて申し訳ありません。 実はコマンドラインでなく、スクリプトの中で実行したいのです。
28 名前:24 mailto:sage [2008/04/25(金) 12:47:18 ] >>26 どうもありがとうございます。 ご紹介の Slurp.pm を使用してみます。 while (<FH>){print;} の繰り返しを避けたいのは、何度も同じ作業をする予定なので、 while (<FH>){print;} をファイルの数だけループさせる以外にもっといい方法があればと思いまして。 シェルスクリプトでやっていたことを Perl スクリプトで実行したいところなので 発想がシェルからなのです。 他には、 comm や sort に対応するモジュールを使ってみようかと。
29 名前:デフォルトの名無しさん [2008/04/25(金) 12:50:08 ] いや、だから cat.pl ---- ここから--- #!/usr/bin/perl -n print; ---- ここまで--- コマンド行: cat.pl a.txt b.txt c.txt > d.txt 要するに while(<>) と while(<STDIN>) は違いますよって事だな
30 名前:24 mailto:sage [2008/04/25(金) 13:16:10 ] >>29 たびたびありがとうございます。 本当に言葉が足りなくて、ごめんなさい。 コマンドラインで a.txt b.txt c.txt を指定するのでなく、 スクリプト内で File:Find を駆使して、a.txt 他を探すつもりでした。
31 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 21:43:46 ] @ARGV = <*.txt>; print while <ARGV>;
32 名前:デフォルトの名無しさん [2008/04/26(土) 04:06:08 ] 萌え萌えじゃんけんに絶対勝つモジュールはありますか?
33 名前:デフォルトの名無しさん [2008/04/26(土) 23:14:27 ] お世話になります。お力添えください。 テキストファイル内の特定の文字列を検索して、 1.検索結果の『前』『後』の行に、任意の文字列を『追加』する、 2.検索結果の行を、任意に編集する ということを行いたいのですが、 openしたファイルを直接書き換えることはできるのでしょうか? 一度、別のファイルを作成して、 元を削除して、 作成したファイルをリネームするのではなく、 直接編集できないのかなと思いました。 あと、上記の『1』について、 ファイル内の先頭から検索して、 はじめにマッチする場所へポインタを移動する関数って標準にはないでしょうか? 今は先頭からゴリ押しで探しているので、格好悪いです…。
34 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 01:04:42 ] >>33 書き換えは普通にできる。 だが危険だぞ。
35 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 12:55:49 ] perl ド素人です。 perl の FillInForm というモジュールを使いたいのだけど 利用しているレンタル鯖(さくら)には入ってないようです。 同じ処理が出来るモジュールなどを教えてもらえないでしょうか。 やりたい事は、 「入力画面からの入力値をチェックし、 不足があれば、入力値を保ったまま入力画面を再表示する」 というものです。この「入力値を保ったまま」というのに FillInForm を使いたいと考えています。 select や radio の値復帰を FillInForm で出来るという記事を見かけたので 使おうと思いましたが、 別にこれにこだわっているわけではないので、出来ればなんでもいいです。 管理者権限がなく、インストールなどは出来ないので .pm の 1 ファイルだけ置いて、require して使えるようなモジュールだとより助かります。 (FillInForm も試してみたのですが上手くいかず……)
36 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 12:58:23 ] 依存してるモジュール全部突っ込んで、 use lib '.'; とかでいいだろう。
37 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 13:01:29 ] CGI::Ex::Fill
38 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 13:11:49 ] 即レスありがとうございます。 >>36 そういう書き方が出来るんですね、なるほど。 今回は残念ながら、FillInFomr のソースを見たところ、 require 5.005; なんて記述があり、自分では依存先ファイルの全貌がつかめませんでした…。 >>37 試してみます。
39 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 16:03:15 ] >>38 そのrequireは単なるバージョン制限だ。5.005未満の環境だと、そこで強制終了。
40 名前:デフォルトの名無しさん [2008/04/27(日) 16:34:19 ] すいません今日はじめるんですが、perl5.8.8.822インストールして 環境変数設定するんですが、パスこれであってますでしょうか? c:\ActivePerl-5.8.8.822-MSWIN32-x64-280952\perl\bin\perl.exe
41 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 16:56:43 ] エクスプローラのアドレスバーに C:\ActivePerl-5.8.8.822-MSWIN32-x64-280952\perl\bin と打ってみてその中に perl.exe さんがいるのなら、↑こう。 環境変数 PATH の設定なんだから最後の \perl.exe 要らない。 でも、Windows環境だと C:\Perl\bin 辺りに perl.exe さんがいる 状態にする人のほうが多いので、どこに perl.exe さんがいるのか きちんと確認してください。
42 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 17:11:18 ] ほんとにインストールしたのか?!
43 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:01:48 ] >>35 です。 すみません、CGI::Ex::Fill を入れようとしたのですが うまくソースを読み込めていないようで、 関数を呼び出すと Undefined subroutine &main::form_fill となります。 やったことは、サイトから落としたソースを Fill.pm として ./lib にアップ、 use lib qw(./lib); でその読み込み、 form_fill($html, $query); の呼び出し、の 3 点です。 form_fill の1行をコメントアウトすると、もちろん値は復帰しませんが正常に動きます。 (なので、use lib qw(./lib); も少なくともエラーにはなっていないようです) 問題点の心当たりのある方がいたら教えてください。
44 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:17:37 ] 今、パールの勉強始めてます 変数がクソだと思いました Cをやりたいです 配属先でぱーるなんてやらせるのがイヤです こんなクソ言語 先の無い言語 rubyやPythonやPHPやSQLみたいなオサレなのをやらせてください COBOLとかFortlanみたいなもんと同じじゃないんですか?ぱーるって
45 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:23:45 ] >>43 補足 公式サイトの説明での読み込み方が、 use CGI::Ex::Fill qw(form_fill fill); となっているので、ひょっとしたら use の読み込みの際、 読み込む関数を指定する必要があるのか考えています。 ただ、use lib qw(./lib) で、読み込み方を指定する方法がわからず試せていません。 全く的外れかもしれませんが、自分で思いつく問題点はそれぐらいです。
46 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:42:33 ] >>43 インストールしてない 読み込んでない
47 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 21:57:54 ] >>43 CGI::Ex::Fill::form_fill($html, $query); じゃダメなのか?
48 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:05:40 ] >>46 上にも書いている通り、ファイルを置いて use しているだけなので インストールしてないというのは、その通りだと思います。 >>43 に書いた通りには読み込み処理を書いているので まさにそれで読み込めない理由が知りたいです。 >>47 ダメでした。同様に Undefined subroutine &CGI::Ex::Fill::form_fill となりました。
49 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:13:44 ] use libはインクルードパスを変えるだけだぞ…
50 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:21:09 ] 置いたファイルを use していない、のだ。
51 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:42:16 ] >>49-50 なるほど! わかりました。 use lib でパスを通した後で、 改めて use CGI::Ex::Fill qw(form_fill fill); を行う必要があったんですね。 Fill.pm の置き場所を ./lib/CGI/Ex/Fill.pm に変更し、use したところ まだ値は復帰しませんが、とにかく form_fill は通るようになりました。 ありがとうございました。
52 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 23:52:55 ] インストールすりゃいいだろ!!
53 名前:デフォルトの名無しさん [2008/04/28(月) 03:02:57 ] ∩___∩ /) | ノ ヽ ( i ))) / ● ● | / / | ( _●_) |ノ / コイツ最高のアホ! 彡、 |∪| ,/ /__ ヽノ /´ (___) /
54 名前:デフォルトの名無しさん [2008/05/01(木) 00:19:43 ] ∩___∩ /) | ノ ヽ ( i ))) / ● ● | / / | ( _●_) |ノ / コイツ最高のアホ! 彡、 |∪| ,/ /__ ヽノ /´ (___) /
55 名前:デフォルトの名無しさん [2008/05/01(木) 02:11:38 ] Template Toolkit の質問でも良いですか? Template Toolkit でファイルの存在判定ってできるんでしょうか? 例えばあるテンプレート内で [% INCLUDE hoge.tt %] を使って異なるディレクトリにあるファイルを include させたいのですが、 実際に hoge.tt が存在しない時は、"file not found"にて処理が失敗しています。 今作ってる仕組み上、hoge.tt は時と場合に応じて有ったり無かったりするので、 ファイルが無いときは、include させない制御をテンプレートのみで実装したいのです。 お願いします。
56 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 07:35:17 ] >>55 ここの「例外処理、フロー制御」の項読めば? ttp://www.hakoniwa.net/tt/
57 名前:デフォルトの名無しさん [2008/05/01(木) 13:12:30 ] >56 ありがとうございます。 まさにそのままでしたね。 どんだけ視野狭いんだ俺。
58 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 03:25:33 ] perlからvb.net で作成したクラスライブラリにアクセスはできないのでしょうか? 例えばperlから、 homepage1.nifty.com/rucio/main/dotnet/shokyu/standard51.htm のサンプルで作成したMyLibrary.dllの関数の"Add","Total"等を 使用する場合、次のような書き方では、Died となってしまいます。 どなたかご教授お願いします。 use Win32::API; $Add = new Win32::API( "MyLibrary.dll", "Add", [N], "N") || die; $Total = new Win32::API( "MyLibrary.dll", "Total", [], "N") || die; <結果> Died at D:\work\DLL_Access.pl line 27, <DATA> line 164.
59 名前:デフォルトの名無しさん [2008/05/02(金) 14:16:23 ] Perl で LWPを使用したとき(activePerl) HTTP/1.1 を使用しちゃうんですが HTTP/1.0 で通信したい場合どう指定すればいいか分かりますか?
60 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 19:07:41 ] >>59 環境変数PERL_LWP_USE_HTTP_10をセットする。
61 名前:デフォルトの名無しさん [2008/05/05(月) 12:28:42 ] 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"; どうすれば良いか御教授下さい。宜しくお願いします。
62 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 13:30:13 ] >>61 >>1
63 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 12:23:32 ] >>62 知らないなら出しゃばるなよ
64 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 13:31:21 ] >>63 >>1
65 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 13:36:14 BE:212257038-DIA(100004)] sendmail のスレ行けよ 純粋な Perl の質問なら 標準モジュールの Net::SMTP 使って質問しろ
66 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 13:49:56 ] 既にwebprogに移動したようですよ。
67 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 14:41:58 ] こういう赤ん坊のムニャムニャみたいな質問に良く答えられるなあ。 webprogはエスパーが多いのか。
68 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 15:51:47 ] あっちは隔離施設なので訓練をつんだ回答官が配備されてます
69 名前:デフォルトの名無しさん [2008/05/06(火) 16:00:05 ] こっちのスレは素人なので、答えられない質問が来ると他所へ追いやります。
70 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 16:01:24 ] >>69 > こっちのスレは素人なので、答えられない質問が来ると他所へ追いやります。 その通りなので、最初からあちらへ行ってください。
71 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 16:29:08 ] 訓練を積んだ回答官が配備されてるんじゃなくて 「&jcode'convert(*value, 'sjis', 'euc') の *value って何ですか?」 「&ReadParse(*in) の *in って何ですか?」 「open() or &error("読み込みエラー") で読み込みエラーが表示されて困っています」 「エラーメッセージは 500 Internal Server Error です」 任務が厳しくて鍛えられてしまうんです。
72 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 18:18:54 ] 激務だな。 それはそうと、未だにjcode.plつかってるのが出回ってるのかね。
73 名前:デフォルトの名無しさん [2008/05/06(火) 18:28:12 ] use Jcode や use utf8 がクソだから jcode.pl から乗り換える気にもなれない。 わざわざ労力をかけてコードを書き直す価値が無いんだよ。 過去の古い資産をそのまま使うのでじゅうぶん。
74 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:26:17 ] 最近グロブ使って書かれてるスクリプトに触ってないから グロブはあまり使わなくなっちまったなあ。
75 名前:デフォルトの名無しさん [2008/05/06(火) 22:59:14 ] しょこたんブログも飽きたな
76 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 11:44:34 ] Perl/tkで書いたものをWin32exe形式にするにはどうしたらいいんでしょうか?
77 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 20:09:07 ] perl2exe
78 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 06:57:50 ] UNIX環境でコマンドラインからスクリプト動かしたとき、 動かしたユーザーのidを取得するにはどうしたらいい? スクリプトの使用制限をはかりたい。
79 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 08:26:58 ] >>78 $< manくらい嫁。
80 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 13:05:01 ] >>78 コピーされて無効化されるぞ。
81 名前:デフォルトの名無しさん [2008/05/08(木) 20:53:48 ] 教えてください。 テキストファイルの中から、 hoge を含む行を検索して、 その行をprintしたいのですけど、 一行一行読み込んで、パターンマッチして、真であれば、printする、 という方法以外に、何か方法ありますか? (perlはテキスト処理が得意と訊いたのですが、『一行一行読み込んで』のステップがプログラムで必要か気になりました。) ところで、cygwinでperlをはじめたのですが、何か気をつけることはありますか?
82 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 20:54:34 ] hogeを見つけたら前後の改行を探し出すとか。 全く意味ないけど。
83 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 21:51:51 ] >>81 perl -ne '/パターン/ && print' <file
84 名前:81 mailto:sage [2008/05/08(木) 22:37:56 ] レスありがとうございます。 さっぱりわからないので、教わったことをキーワードに調べてみます。 また、御願いします。
85 名前:デフォルトの名無しさん [2008/05/09(金) 16:18:45 ] >>81 そういう事のためにあるのが、grep
86 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 18:25:10 ] まあ正規表現なんだけどな !
87 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 18:32:04 ] grepやsedを素っ飛ばしてperlから始めたのかな。一行野郎 なんて知らないんじゃないのかな。
88 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 14:33:02 ] 目的:perlTk で GUI のテキスト検索ツールを作成しています。 状況:ユーザから入力された検索文字列の正規表現が不正であると、プログラムが 終了してします。 (invalid regular expression at * ) $search_string に格納された文字列が正規表現として有効であるかを、 eval を使って事前に評価したいのですが、どうしたら良いのでしょう? if (eval (m/$search_string/)) ? これだと常に true が帰ってしまいます。 エロい人、教えてください。
89 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 14:49:04 ] 困ったときのクックブック 6.11 パターンが有効かどうか検証する
90 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 15:12:19 ] qx
91 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 15:52:18 ] >>88 エロイ人への質問はvenus.bbspink.com/hneta/ でしなさい。
92 名前:88 mailto:sage [2008/05/10(土) 16:16:44 ] >>89 ありがとう。正規表現の箇所は全部呼んだつもりだったのに。。。 解法(p.254): eval { ""=~ /$search_string/ }; warn "パターンが無効 $@" if $@; >>91 性器表現に困ったときはそうします。ありがとうございました。
93 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 19:00:21 ] Win32::OLEを使って wordドキュメントの編集をしようとしています。 読み出しはできるのですが、テキスト編集を受け付けてくれません。 下記のようなソースで、「ABC」→「abc」としたいのですが、元の「abc」のまま出力されてしまいます。 どのようにしたらよいでしょうか? WindowsXP SP2上で、ActivePerl 5.10と、5.8.8で試してみました。 ------------------- use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Word'; $word = Win32::OLE->GetActiveObject('Word.Application') || Win32::OLE->new('Word.Application', 'Quit') || die; $doc = $word->Documents->Open( 'test.doc' ) || die; $paras = $doc->Paragraphs; foreach (in $paras){ $_->Range->{'Text'} =~ tr/A-Z/a-z/; print $_->Range->{'Text'}."\n"; } $doc->Close( 0 ); -------------------
94 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 22:36:57 ] URL転送なんだけど今こうしてます↓ #!/usr/bin/perl print "Location: *****\n\n "; これに転送するまでHTMLの<meta content="x">みたいに 一定時間ウェイトかける事って出来るのでしょうか?
95 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 22:55:03 ] いいえ
96 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 23:04:42 ] >>94 >>1
97 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 02:50:29 ] >>94 できなくはないがやるな。 それと>>1
98 名前:デフォルトの名無しさん [2008/05/11(日) 12:59:18 ] 教えて先生! 01 や 11 などの文字列を数値に変換するにはどうすればいいの?
99 名前:98 mailto:sage [2008/05/11(日) 13:26:41 ] 自己解決っす 他のスクリプト同様 -0 でよかったのかw
100 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:17:20 ] intでいいよ
101 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 21:23:54 ] モジュールでモジュールのファイル位置を知るにはどうしたらいいでしょうか? |-foo.pm |-data/data1 こんな感じのフォルダ構造になってて、foo.pmの中からdata1を相対参照したいのです。