1 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 21:17:36 ] "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 ● 2009/02/09 現在の最新版: 5.10.0 ▼ 前スレ Perlについての質問箱 38箱目 pc11.2ch.net/test/read.cgi/tech/1221967332/ リンク集は >>2-3 Perl 日本語処理の基礎の基礎 >>4 過去スレは >>5-6 あたり
53 名前:42 [2009/02/15(日) 23:00:58 ] >>47 ついさっきまでCentOS5をインストールしてCPANで試してもうまくいかず絶望していましたが、 書き込みを見てリンク先の指示通りにやったら無事プログラムが動きました。 本当にありがとうございました。いくら感謝しても感謝し切れません。
54 名前:デフォルトの名無しさん [2009/02/16(月) 11:55:30 ] >>53 おお動いたか、よかったな。少し心配してたw
55 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 22:19:33 ] >>36 >>50 僕もよく知らないのだが、下のはどうかな? use Win32::OLE; my $WshShell = Win32::OLE->CreateObject("WScript.Shell"); $WshShell->Run('tasklist', 0);
56 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 07:10:12 ] パッケージの外から変数を覗き見たいです ググったところ、グローバル変数ならシンボルテーブルとかいうものを検索すれば見られそうな感じですが、 レキシカル変数は無理なのでしょうか
57 名前:デフォルトの名無しさん [2009/02/17(火) 09:16:53 ] >>56 なぜそんなことが必要な状況になったかが問題だと思う。
58 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 09:32:52 ] >>56 つPadWalker
59 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 13:26:55 ] >>57 デバッグのときにあまり本体を汚さずに中の変数を覗きたいんですよ 最終的には一行書くだけで自動的に変数をトレースしたいです >>58 それ素晴らしく完璧ですね ありがとうございます
60 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 14:03:35 ] >>57 知らないならレスしないでください
61 名前:デフォルトの名無しさん [2009/02/17(火) 14:25:23 ] 知ってるがお前の態度が気に入らない。
62 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 14:36:07 ] >>61 後出しみっともない
63 名前:デフォルトの名無しさん [2009/02/17(火) 15:42:16 ] >>62 コピペにマジレスみともない。
64 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 15:49:58 ] >>63 そう思うならやるなよ
65 名前:デフォルトの名無しさん [2009/02/17(火) 16:31:29 ] >>64 いつまでもみっともない。
66 名前:デフォルトの名無しさん [2009/02/17(火) 17:50:44 ] >>65 必死だな!
67 名前:デフォルトの名無しさん [2009/02/17(火) 18:40:21 ] >>66 >>66
68 名前:デフォルトの名無しさん [2009/02/17(火) 18:41:46 ] キモイ、粘着、IDストーカー、 もう返信しないで下さい。キモいです。
69 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 19:08:44 ] なにこのスレ
70 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:44:42 ] 文字列取得の質問です "a,b,c:ABC,d,e,DEF"ghi のような文字列があった場合に、 ABC(コロンとカンマの間) DEF(カンマとダブルクオテーションの間) の文字を取得するにはどのようにすればよいでしょうか? indexとsubstrを駆使してみましたが、 カンマやダブルクオテーションが複数あるため indexの位置が正しく取得できずに断念しました。
71 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:51:51 ] >>70 っ[パターンマッチ]
72 名前:デフォルトの名無しさん [2009/02/18(水) 00:29:51 ] >>71 ありがとうございます。 $tmp =~ /:(.+)\,/; のようにやってみましたが、下記の結果になってしまいました。 $1⇒「ABC,d,e」 後ろのカンマのマッチを無視するにはどのようにすればよいでしょうか?
73 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 00:39:30 ] >>72 (.+?)で最小マッチングできるよ
74 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 00:50:47 ] >>73 ABC ⇒ /:(.+?)\,/ DEF ⇒ /.+\,(.+?)"/ ↑で、うまくいきましたー。 ありがとうございました
75 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 06:44:36 ] 呼び出したモジュールから、本体の出力命令 ( print とか die とか )を察知して 内容を置換して出力し直すことは可能でしょうか
76 名前:デフォルトの名無しさん [2009/02/18(水) 07:48:50 ] 可能です。
77 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 14:57:23 ] >>76 どうもです
78 名前:75 mailto:sage [2009/02/18(水) 23:09:04 ] どうやら print をオーバーライドするのが一番手っ取り早そうですね ですが、perl はサポートしてないんですよね 実現してるモジュールなんかはありますでしょうか
79 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 01:33:04 ] >>78 親切な僕が変態 ReplacePrint.pm をそれっぽく書いたげたお。 die のほうはせっかく例外投げてんだから catch してあげて。 使い方: use ReplacePrint; print "string\n"; # ここから ReplacePrint.pm package ReplacePrint; use strict; sub TIEHANDLE { bless [], $_[0] }; sub PRINT { my $self = shift; my @str = @_; for (@str) { s/$/ is replaced/; print STDOUT; } } my $out; open *OUT, ">", \$out; my $stdout = select(OUT); tie *OUT, "ReplacePrint"; 1;
80 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 03:00:45 ] ありがとうございます まだファイルハンドルあたりやtaiについての知識が薄いので、 ここ2,3日で実験しながら学びたいと思います また何か分からないことがあると思うので、 よろしくお願いします
81 名前:79 mailto:sage [2009/02/19(木) 22:56:32 ] >>80 正直、想定外の好反応にあわててる僕がいるお。 外野からの「こんなひどいことするくらいなら設計見直したほうがいい」系のツッコミを期待してたので。 >>79 は猛烈にやっつけで、行儀の良くないことをいくつもやっている点が「変態」の所以。 なのでこのまま流用したりすると後でひどい目にあうことうけあい。 ヒント程度にしておくのが吉です。
82 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 00:25:08 ] Mooseっていったん適当なクラスにrole付加したら、あとでそのrole使わないようにってできないの?
83 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 09:24:24 ] :>>81 :viaレイヤ使うといいのかもしれない。使ったことないけど。
84 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 10:12:57 ] StringRandomモジュールを使用せずに2chのIDのようにランダムな文字列を生成するにはどうすればよいでしょうか?
85 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 11:43:28 ] その程度のプログラムも書けないのは全くプログラミングの勉強が 不足しているのでもうすこし勉強しましょう。
86 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 14:09:07 ] >>84 っ[Digest]
87 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 14:28:40 ] 解決しました。ありがとうございました。勉強してきますorz
88 名前:デフォルトの名無しさん [2009/02/20(金) 18:27:25 BE:1369512858-2BP(150)] UTF-8のテキストファイルから">"一文字を正規表現で検索して置き換えたいのですが、 s/>/test/g とやってもうまく検索できません EUC-JPへのエンコードなどしてみたのですが、そうすると他の文字が一部文字化けなどしてしまい更に 面倒なことになったので、できれば文字のエンコードなしで日本語の置き換えをしたいです Dumpで表示した\xxxなどの形式で検索もしてみましたが、うまく置き換えできませんでした 日本語の置き換えに何かいい方法はないでしょうか? 置き換えしたい文字は">"だけです。
89 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 18:31:12 ] なんといういやがらせ
90 名前:88 [2009/02/20(金) 18:56:00 ] 自己解決しました index関数とsubstr関数で置換できました
91 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 18:58:52 ] とあるプログラムの一部に書かれてたんですが これはどういう意味なんでしょう? # untaint $0 =~ /^(.+)$/; my $self = $1; $0でスクリプト自身のファイル名を取ってきて 正規表現に掛け、マッチしたものを別の変数に入れてますけど、 これだと$0と$selfは一緒なものが入る気がするんですが・・・。
92 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 19:21:24 ] >>91 志村〜、コメント、コメント 汚染されたデータからパターンマッチで部分文字列を取り出すことで 汚染を取り除いている(=untaint)のだが、汚染とは何かとか言い出すと 長くなるので「perl 汚染」でぐぐっていろいろと調べてみるといいよ。
93 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 20:02:26 ] $0が汚染されてたらスクリプト自体が実行出来ないもんじゃねえの? (汚染チェックの重要性は十二分に解ってはいるんだけど)
94 名前:91 mailto:sage [2009/02/20(金) 21:38:11 ] >>92 レスありがとうございます。 なるほど、不正なコマンド含んでたりするものを取り除いてるわけですね。 でもこの正規表現だと任意の文字列にマッチしてしまって取り除いたりは できないような気もしますが・・・。一回正規表現を通して見かけだけ汚染を 取り除いたとみなしてるんでしょうか。 まぁ調べる方針はわかったのでもう少し調べてみます。どうもでした。
95 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 23:19:11 ] .*は何にでもマッチしちゃうので、全くその通り。無理矢理に汚染フラグを 取り除いただけです。よい子は真似しないこと!
96 名前:デフォルトの名無しさん [2009/02/21(土) 18:23:38 ] perl -e 'use strict;my%H;sub A{@H{qw/A B C/}=(1,2,3);return \%H};*H=A();print "$H{C}\n"' perl -e 'use strict;my%H;sub A{my %H@H{qw/A B C/}=(1,2,3);return \%H};*H=A();print "$H{C}\n"' この二つ 上は何故かコンパイルも通り、意図したようにデータも返すことが出来る 下は一見すると正しい文法だし問題もないように見えるけどなぜかデータを取得できない 原因がわかる人いますか?
97 名前:デフォルトの名無しさん [2009/02/21(土) 18:24:12 ] 下は perl -e 'use strict;my%H;sub A{my %H;@H{qw/A B C/}=(1,2,3);return \%H};*H=A();print "$H{C}\n"' の間違いです。スマソ
98 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 20:00:22 ] >>96-97 スコープが違うから。 上はサブルーチンの外側で宣言した %H に代入している。 下はサブルーチンの内側で宣言した %H に代入している。 型グロブはパッケージ変数。
99 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 20:18:27 ] >>98 なるほど パッケージレベルのmy変数はどの関数からも見えるんですね あと型グロブはmy変数とは異なるパッケージ変数と。勉強になりました
100 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 11:53:36 ] ここ(kage.monazilla.org/system_DOLIB100.html )を参考に ●ログインするプログラムを書いてみました。 しかし、認証に失敗して、以下のセッションIDが返ってきます。 SESSION-ID=ERROR:ppppppppppp 何かアドバイスお願いします。 ※IDとパスワードはここではダミーのものとしていますが 実際には自分自身のIDとパスワードを使用しています。 use strict; use Socket; use FileHandle; use LWP::UserAgent; use HTTP::Request::Common qw(POST); my $id='id'; my $pw='password'; my $ua = LWP::UserAgent->new; $ua->agent('DOLIB/1.00'); $ua->default_header('X-2ch-UA' => 'Hoge/1.00'); my $url='https://2chv.tora3.net/futen.cgi'; my %form = ('ID'=>$id,'PW'=>$pw); my $req = POST($url,[%form]);
101 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 12:51:19 ] >>100 手元で検証してみたが、サーバ側のバグかもしれない IDパラメータの「@」が「%40」にエンコードされていると認証に失敗した
102 名前:101 mailto:sage [2009/02/22(日) 12:58:44 ] さっきのレスがわかりにくいかもしれないので… futen.cgiに渡すパラメータは通常 ID=mail@domain.jp&PASS=password って風になるんだけど、これが ID=mail%40domain.jp&PASS=password という風に渡すと、なぜか認証に失敗する。 本来は後者でも%40が@にデコードされた結果、認証が成功していないといけないのだが… あ、>>100 のコードでおかしいところ発見。 my $req = POST($url,[%form]); ↓ my $req = POST($url,\%form);
103 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 13:12:46 ] >>102 ・エンコードしない。 ・[%form]→\%formに修正。 再度実行してみましたけど、認証に失敗・・・orz
104 名前:101 mailto:sage [2009/02/22(日) 13:20:31 BE:1092302674-2BP(1)] >>103 いや、プログラムが間違ってるわけじゃなくて、サーバ側の実装がおかしいんです。 で、一応の回避策ですが、 \%form ↓ Content => "ID=$id&PW=$pw" に修正すればうまくいくかと思います。 P.S. サーバ側のバグについて qb5.2ch.net/test/read.cgi/operate/1225876082/591 にて問い合わせています
105 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 14:11:11 ] お〜っ、勃ってる。 辛抱強く DAT 落ちしたログ持って待ってた甲斐があった。 …単なるログコレクターみたいなもんなんだけど…。
106 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 19:02:42 BE:318384566-PLT(54324)] 大昔から知られてる問題
107 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 19:48:03 ] ↑ すぐそういうことを言う・・・ たまたま知ってたから自慢したいだけやろ。
108 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 20:13:00 ] >>107 そういう風に嫉妬むきだしの解釈するのは感心しませんね。 >>106 さんは、自分がたまたま読んでいなかったばかりに、素早く問題点を 指摘してあなたがたに無駄働きさせないことが出来なくてすいませんと 言いたかったんですよ。
109 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 20:18:33 ] 後出しジャンケンみっともない
110 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:12:06 ] >>104 解決しました。 ありがとうございました。
111 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:36:02 ] 仮想配列の中に'abc'が存在するかどうか確認する方法はありますか?
112 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:40:11 ] exists
113 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:40:20 ] 仮想配列って何ですか
114 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:40:39 ] 「仮想配列」
115 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 23:51:08 ] 先っぽの皮が半分だけ剥けてるヤツだろ。 手で引っぱって全部剥けるなら心配いらん。
116 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 03:18:46 ] >>106 >switch.layer3.asia が稼動してる際に SNMPv2c の一般的な読み取りコミュニティ名で >リクエストを送ると、どこかのツリーの下に私の携帯電話番号が現れますよ layer3.asia/ 痛いw
117 名前:デフォルトの名無しさん [2009/02/24(火) 03:02:56 ] perlに限った事じゃないかも知れない(前置き) klassというのをたまに見掛けるけど、これはどういった意図で使ってるの? ある程度の頻度で見掛けるので、一定の合意があるのかと思って聞いてみました。
118 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 03:29:04 ] classが予約語の言語でclassの類似物を作った場合とか funktionなんてのもよく見るね
119 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 13:22:48 ] フォームから読み出したデータを処理したいのです。 読み出したデータの名前はa1からa10までで、それを$a1から$a10に入れたいのですが、 $form = new CGI; $a1 = $form -> param('a1'); $a2 = $form -> param('a2'); …と、a10まで順番に書いていかなければならないんでしょうか。 すっきりした書き方があれば、教えて下さい。
120 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 13:25:44 ] >>119 そもそも変数名に通し番号をつけるセンスをなんとかすべきだな。 配列使えよ。
121 名前:デフォルトの名無しさん [2009/02/24(火) 13:32:09 ] $form = new CGI; foreach(0..10){push(@a, $form->param('a' . $_))} でいいんじゃね?ゼロからだけど@aの添え字にあわせるため。
122 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 14:00:14 ] >>119 ${"a$_"} = $form->param("a$_") for 1..10;
123 名前:デフォルトの名無しさん [2009/02/24(火) 14:13:51 ] 変態が好きなら0-9にしようぜ push(@a,$form->param($_))for a0..a9;
124 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 14:23:55 ] というか、パラメタにつく数字は2桁超えるならa00-a10と言う風に桁をそろえようぜ。 ソートする時とか上のような技法が使えないから。
125 名前:119 mailto:sage [2009/02/24(火) 14:41:12 ] >>120-124 配列なんて考えもしませんでした…思いついたところで、 今度は「配列に入れたいんですが」と泣きついていたように思いますが。 桁数にも気をつけます。 ありがとうございました。
126 名前:デフォルトの名無しさん [2009/02/24(火) 14:45:13 ] >>124 ラマ本は買った? www.amazon.co.jp/dp/4900900818 昔のラマ本の方が分かりやすかったな・・・。
127 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 14:45:31 ] >>125
128 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 14:47:47 ] さらにごめん。さっきの中古本だった。3版になってるのね。 www.amazon.co.jp/dp/4873111269
129 名前:デフォルトの名無しさん [2009/02/24(火) 17:06:30 ] BigFloatで以下などが正確に計算出来ないのですが、何故なのでしょうか? print Math::BigFloat->new('436611485')->fdiv('2074', 3)->bstr, "\n"; # 211000 と表示されてしまう
130 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 17:24:37 ] つprint Math::BigFloat->new('436611485')->bdiv('2074')->bstr, "\n"; fdivじゃなくてbdivだよな。bdivの二番目の引数は精度だから精度3桁で計算合ってるよ。
131 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 18:44:14 ] jcode(ver 2.7) で誰か知ってたらおしえてください。 utf8の文字列(フラグ付き)で、 'あ' という文字を 650字程度より 多い状態で、sjis に変換すると 途中から、????? と文字化けします。 Jcode.pm ってバイト数の制限があるのでしょうか。 どなたか知っていたら教えてください。
132 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 18:54:10 ] >>131 とりあえずざっと目通した? search.cpan.org/~dankogai/Jcode-2.07/Jcode.pm search.cpan.org/~dankogai/Encode-2.31/Encode.pm
133 名前:デフォルトの名無しさん [2009/02/24(火) 23:21:18 ] Perlの実行エラー時に、エラーの発生したファイル名と行番号が表示されますが、 それに加えて、呼び出し元(さらに呼び出し元の呼び出し元なども)の関数を表示できるような機能ってありますか? &aaa(); sub aaa{ &bbb(); } sub bbb{ &ccc(); } sub ccc{ &ddd(); } #ここでエラー たとえば、上のようなプログラムで、関数 ddd が定義されていないとき、 「Undefined subroutine &main::ddd called at test.pl line XX.」というエラーが出ますが、 このエラーの呼び出し元が bbb でさらにその呼び出し元が aaa であることが エラーメッセージで表示されると助かります。
134 名前:デフォルトの名無しさん [2009/02/24(火) 23:52:07 ] anond.hatelabo.jp/20080822142610 ここにプログラムがありますが、これを実行するために 1.必要なもの 2.(1.)が揃ったらやること をざっと教えてください。
135 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 23:57:57 ] >133 自前でエラー出すなら perldoc carp 参照。 そうじゃなきゃ、perl -d hoge.pl でデバッガ上で実行すれば?
136 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 00:06:54 ] >>134 増田に聞けば? はてなでもいいけど とりあえず自分がどこまで理解しているのかくらいは書けよ 環境とか
137 名前:デフォルトの名無しさん [2009/02/25(水) 00:13:10 ] >>136 すんません プログラミング経験はありません 環境はwindows vistaです
138 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 00:26:05 ] >>134 > anond.hatelabo.jp/20080822142610 > ここにプログラムがありますが、これを実行するために > 1.必要なもの それを実行するために何が必要で、何をやればいいのかがわかるだけの知識。
139 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 00:26:18 ] >>136 それ書けば質問に答えられるのか?
140 名前:デフォルトの名無しさん [2009/02/25(水) 00:31:02 ] >>138 その知識を分けてください >>139 もしかしたら>>134 の1,2,の回答だけじゃ俺には無理かもしれないけど 最低限それだけあれば頑張れそうな気がする 要するにエロい思いしたいからです。
141 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 00:32:54 ] えっちなのはいけないと思います。
142 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 00:33:20 ] 正直者め
143 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 03:22:27 ] >>140 ここ見て、知らない単語はぐぐれ。 ttp://www.moongift.jp/2008/06/strawberry_perl/ 英語読めるなら ttp://win32.perl.org/wiki/
144 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 13:44:59 ] >>140 プログラミング自体が初めてなら、こうゆう本から始めたほうがいいかもな。 books.livedoor.com/item/379362 Perlとは何か、プログラムとは何か、というところから始まってるから。 ただ、オレ自身はこの本を読んだことはないが。
145 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 19:34:10 ] ワラタw何という見当外れな回答 その上、読んでない本すすめてるし ちょっと興味もって調べたら著者はこぼら
146 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 23:35:21 ] 4Uは、Gigazineの記事を読んだだけでスルーしてたけど、二次元版も出来てたんだな さっそく登録した
147 名前:デフォルトの名無しさん [2009/02/26(木) 06:13:13 ] Sort::Fields - 区切られたフィールドを持つ行のソート fleur.hio.jp/perldoc/mix/Fields.ja.html フィールドソートをしたいのですが、 use Sort::Fields; これを書くとエラーになります。インストール先ディレクトリをみると sort.pmやfields.pmがperl本体と同じディレクトリに置かれています。 本来は perl本体のディレクトリ直下から /sort/の下に存在するべき物でしょうか? インストール場所が悪いと手直しをお客に依頼する必要があるのですが、 作業は大変でしょうか? 環境はlinux Red Hatなのでsortで頑張った方が良いですか? sort に詳しくありません。
148 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 06:21:09 ] 「エラーになります」 大爆笑
149 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 06:59:30 ] ぞっとした
150 名前:デフォルトの名無しさん [2009/02/26(木) 09:21:40 ] みんなで仲良くねF
151 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 10:15:42 ] >>147 確かにuse Sort::Fieldsがアクセスするのは"[モジュールの検索パス]/Sort/Fields.pm"(大文字小文字の区別有り)だと思うけど、 なんかファイル名が小文字でperl本体と同居してるとかなってるなら もはやカオスとしか言いようが無い。 CPAN行ってインストールをやり直した方がマシじゃね。 もちろん、使うコマンドは"perl -MCPAN -e shell"で。
152 名前:デフォルトの名無しさん [2009/02/26(木) 10:27:07 ] sortで出来るかどうかもわからないなら、もはやらくだ本からやり直してもらうしかない。 第三フィールドでソートしたいとかなら配列の配列使えば出来るよ。
153 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 10:46:46 ] >>151 バカに引っ張られて自分もバカになるなよ。