1 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 00:07:22 ] "The duct tape of the Internet" こと、Perlについての質問箱です。 "There's more than one way to do it" ということで、Perlの奥深さについて皆で語り合い、追求してまいりましょう。 CGIについての質問は板違いです。WEBプログラミング板でどうぞ。 CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。 (WEBプログラミング板 ttp://pc11.2ch.net/php/ ) CGIの質問は答えがPerlと全然関係ない話に帰着する場合が多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。 このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。 スレ違いの質問にはスルーか、速やかな誘導をお願いします。 ttp://www.perl.org/get.html ● 2008/01/11現在の最新版: 5.10.0 ● 2007/01/11現在の開発版: 5.9.5 前スレ Perlについての質問箱 33箱目 pc11.2ch.net/test/read.cgi/tech/1192463997/ リンク集は>>2-3 過去スレは>>4 あたり
101 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 01:15:34 ] 多次元配列の操作についてなんですが、 @aと@bによる二次元の配列@xを作る際に、 for $i (0..$#a){ $x[0][$i] = $a[$i]; } for $i (0..$#b){ $x[1][$i] = $b[$i]; } 多次元配列 @x の i 行目の配列を一次元の配列 @c に移し変えるのに、 for $j (0..$#{$x[$i]}){ $c[$j] = $x[$i][$j]; } というコードを書いてるんですが、もっと奇麗な書き方はありませんか?
102 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 01:38:01 ] >@aと@bによる二次元の配列@xを作る @x = (\@a, \@b); >多次元配列 @x の i 行目の配列を一次元の配列 @c に移し変える @c = @{@x[i]}; 「続・初めてのPerl」のような参考書をお読みください。
103 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 03:24:16 ] 「多次元配列」、「二次元配列」、その過てる認識がドツボへといざなう
104 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 05:56:49 ] >>102 ありがとうございました。 参考書を買って一通り読んだほうがよさそうですね。 アドバイスありがとうございました。
105 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 09:17:59 ] >>102 × @c = @{@x[i]}; ○ @c = @{$x[i]};
106 名前:デフォルトの名無しさん [2008/01/20(日) 22:02:02 ] >>100 ム板で言う「受け身」は「わからんから教えてくれ」の事だぞコラ hoge や fuga を試したけど moge や munya のエラーになって 困っています。xxx.net や ○●の本を確認したけれど××の所 の通りで間違っていないコードかと思ったんですが。タスケテ の様に複数の試行錯誤と複数の情報確認をひっさげてポストしてみ
107 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:27:18 ] 二次元配列? Perlの配列の要素はスカラーですよ?
108 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:59:15 ] いま本読んでるところだよきっと!
109 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 12:22:47 ] >>91 速さを求めるなら、正規表現の | より、正規表現使わないで or のほうが速いぞ
110 名前:デフォルトの名無しさん [2008/01/21(月) 22:29:32 ] >>97 やっと理解できたよ。map なんて昔からあった?
111 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:32:21 ] 大昔から
112 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 06:44:24 ] 昔っていうと範囲が曖昧だけど、とりあえず前世紀の産物だしな。
113 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 06:46:56 ] 僕らが生まれてくるずっとずっと前にはもう
114 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 07:31:26 ] >>110 perl4 には無かった記憶が。perl5 からだとすると search.cpan.org/~rgarcia/perl-5.10.0/pod/perlhist.pod > 5.000alpha1 1993-Jul-31 > 5.000 1994-Oct-17
115 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 10:44:57 ] map, grep を知ると、出来るだけそれを使ってプログラムを作りたくなる。
116 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 13:29:05 ] >115 なんとなくだが、その気持ちは分かった気がする。
117 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 13:39:17 ] そして後で泣く
118 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 14:18:17 ] >>115 そのままLISPerになっちゃえばいいのにw
119 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 17:29:54 ] >>115 前にも同じこと言ったけど中二病だよね。あれって。
120 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 17:31:34 ] forのかわりにmap使うボケが多すぎたので、voidコンテクストなるものが導入されました。
121 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 17:59:14 ] 昔はgrep/mapのほうがforより速かったからなぁ。
122 名前:デフォルトの名無しさん [2008/01/22(火) 18:23:02 ] たしかに。多言語に書き換えるときに泣くよね。 perl はプロトタイプとして使うな。 有る程度ロジックの検証ができたらCなりjavaなりに書き換える。 だから perl 固有すぎる命令は使いたくないね。 map のつかいかたを一所懸命覚えても、何の糧にもならないし。
123 名前:デフォルトの名無しさん [2008/01/22(火) 18:24:23 ] 122s/多言語/他言語/p
124 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 19:22:39 ] また for厨 が暴れてるのか
125 名前:デフォルトの名無しさん [2008/01/22(火) 19:58:09 ] perl/Tkの参考になるサイトおしえて
126 名前:デフォルトの名無しさん [2008/01/22(火) 20:18:47 ] perl/Tkもいちじはやってたけど、Qt始めてから使わなくなった。
127 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 20:19:10 ] でっていう
128 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 20:45:35 ] Google検索でいっぱい出てくるじゃん
129 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 21:13:32 ] 構造体の要素に多次元配列を使いたいです。 struct A => { aaa => '@', ←ふつうの配列 bbb => '@' ←これを多次元配列にしたい }; $A->aaa(0, 'a0000'); ←これと $A->aaa(1, 'a1111'); ←これはよいとして $A->bbb(0, 0, 'b0000'); ←これはダメ $A->bbb(0, {0, 'b0000'}); ←これもダメ $A->bbb({0, 0}, 'b0000'); ←これもダメ どう書けばよいですか?お願いします。
130 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 21:22:35 ] perlに多次元配列なんてものはないが、 配列のリファレンスの配列にすればいい。
131 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 21:26:06 ] >>129 $A->aaa->[0] = 'a0000'; $A->bbb->[0][0] = 'b0000'; こんなんじゃあかんの?
132 名前:129 mailto:sage [2008/01/23(水) 22:22:24 ] レスどうもありがとうございます。 >130 perlに多次元配列はないという噂は聞きますが これまでCと同じ感覚で使ってました。プログラマじゃないので許してください。 >131 そんな記述できるのですね。 やりたかったことです。ありがとうございました。
133 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 23:15:25 ] 言葉として、n次元配列という時はある。配列のリファレンスの配列、とか言いたくないよ!
134 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 23:36:07 ] 一人っきりの部屋で、言う機会もないくせに。
135 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 00:08:28 ] 意味は通じるから多次元配列でも問題ない。 リファのリファとか言うより伝わりやすい。 厳密なのは仕様書書きとかがやればいい。
136 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 00:14:57 ] 多次元配列言う奴は多次元配列としてしか使わんからなあ
137 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 00:37:18 ] $hash{'a','b'}でハッシュを二次元配列のように使うとかなかった?
138 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 00:42:42 ] 普通の配列でやればいい
139 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 00:48:09 ] >>137 それはPerl5で非推奨になった
140 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 01:26:30 ] >>137 $hash{'a-b'}みたいなもんだし多次元のつもりでやると想定外のことになりうるからあまり勧められんね。 keysとかで簡単に拾うこともできんし。
141 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 01:32:05 ] unix epoch より過去を unix time で扱うにはどうすればいいでしょうか。 いまテストしてる環境はWinXP SP2 (5.1.2600) + ActivePerl 5.8.8 です(一応)。
142 名前:デフォルトの名無しさん [2008/01/24(木) 02:20:59 ] ビッグバンより前の宇宙
143 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 03:09:03 ] >>141 そもそもunixtimeの定義からして無理だろ。 負の数を正の整数で表現するにはどうしたらいいですか? みたいなもんだ。 自前の日付表現方法考えろ。
144 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 03:38:28 ] >>143 どうもです。 unix time定義の厳密な定義はわかりませんが、仮に整数のみであるとしても 負数から計算してタイムスタンプなり配列なりを返す実装はありそうかなと思って。 もうちょっと探してみて、なさそうなら他の手を考えます。
145 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 03:40:23 ] 訂正:「整数のみ」→「正の整数のみ」
146 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 05:18:37 ] Perlでオススメのメーリングリストってあります? 検索したら、下記かな?と思いましたが、終わってるようですし。 ttp://bug.org/ML/perl-jp/
147 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 10:42:03 ] >>135 分かってる人間どうしで言うのは構わんけど ここで「多次元配列使いたい」って質問してくる人はたぶん分かってないと思うぞ
148 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 11:06:45 ] >>146 なんの話題をしたいかによる。 今はどこも過疎ってるけどね。
149 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 11:30:31 ] MLは使わなくなったなぁ。 ダイアルアップ時代の産物だと感じるねぇ
150 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 11:50:56 ] >>149 ダイアルアップ時代になって、メールをプロバイダに取りに行くように なって利点が無くなったもんだよ。
151 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 12:46:53 ] >>150 じゃその利点があったとかいう時代に 日本で活動していたMLなんていくつあったの?
152 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 13:46:59 ] >>151 MLはクローズドな空間を構成するために使われていたから、日本でいくつなんて、 数えられるわけないだろ。 とりあえず私は、あるとき、メールがオフィスタイムに平均して3秒に1通来る状態に なって、biff - メール到来通知エージェントがつねにフラグを立てている状態になっ て、調べてみると72のMLに入っていたので、入っているMLを整理したことがある。 あとになって調べてみると、POPが出てきた時に、「これはMLを殺すぞ」と 指摘していた人がいるんだよね。まあ、その通りになったわけで。
153 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 14:26:54 ] 読みづらい文章だな
154 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 14:47:16 ] 何の話ししてんだろ
155 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:10:25 ] はなししとは?
156 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:26:35 ] プログラマってこういうツッコミ好きなやつほんと多いよな
157 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:42:03 ] 以上、俺の自作自演
158 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 17:48:43 ] えー、続きましてー
159 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 19:14:46 ] 今でもML使ってるよ。昔に比べると流量少ないけど。 ダイアルアップとは関係なく、コミュニティ・ツールが変わったのが大きい気がする。 perlな方々はblogやIRCで済ませてる人が多いみたいだし。 慣れてない人には不親切かもしんない。
160 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 19:30:09 ] ML衰退は他にもウイルスとか迷惑メールの増加の時期とシンクロしてた様にも。 しかし投稿を一気に落として、必要な書き込み作ってアップロードって作業は 時間が限られた電話回線時代にはマッチしてた様に思うね。 今、特に常時接続になってからはMLでもなんでもクライアントでは データコピーを持たない、ASPスタイルこそが時代の流れと なっていったと思う。 オンライン辞書の類は地味ながら個人的にはここ10年でも 指折りの革新的なツールだと思ってるお。
161 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 20:00:53 ] 特殊変数だとおもうのですが、$,の使い方を教えてください。 イマイチよくわかりません。 $,=" "; としても すべての変数に空白がつくわけではないようですし・・・
162 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 20:13:50 ] perlvar嫁
163 名前:デフォルトの名無しさん [2008/01/24(木) 22:49:43 ] google 「perl 特殊変数」
164 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 13:05:41 ] ircは日本語perlのコミュが会話に入りづらい雰囲気
165 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 13:07:32 ] ↑お前、日本語が下手だから会話に来なくてけっこう
166 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 15:43:02 ] pc11.2ch.net/test/read.cgi/tech/1141988910/
167 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 18:59:19 ] >>161 暇だから答えよう。 $, = ' '; @a = ('a'..'f); print @a; みたいな時に配列の間に半角スペースが入るってだけ。 print "@a"; の間には $" で指定。こっちはデフォで半角スペース入ってる。
168 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 20:38:17 ] たしかにircは内輪ネタが分からない奴はお断りの雰囲気がある
169 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 21:22:36 ] join関数の方が高速
170 名前: ◆TWARamEjuA mailto:sage [2008/01/26(土) 11:31:21 BE:5881469-2BP(6825)] ユリウス使うと良いのかもかも。@うに刻以前
171 名前:デフォルトの名無しさん [2008/01/26(土) 13:20:13 ] 初歩的な質問ですがお願いします。 open関数でテキストドキュメントを読み込んで 表示するという初歩の操作を試しているのですが、 "invalid argument "というメッセージがでてきて ファイルが開けません。 スクリプトは単純ですが以下の構造です。 open(F , ">C:\Perl\text.txt") || die " stupid : $!\n"; while(<F>) { print; } close(F); ファイルはtext.txtです。パスも間違っていません。どうすれば よろしいでしょうか?
172 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:25:15 ] 一冊入門書を(仮にわからないとこがあっても)通読した方が良いよ。 英語で言うと、I is bookみたいな状態。
173 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:30:38 ] >>171 print ">C:\Perl\text.txt", "\n"; とでもして、おまいが何をしようとしているかを確認してみろ。
174 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 18:39:26 ] 基本的なことかもしれませんが… Windowsでながーい(256文字以上の)ファイル名使っている場合に ファイル名は取得できるのですが そのファイルサイズなどを取得する方法がわかりません。 短いファイル名ならサイズの取得も可能なのですが 非常に長いファイル名だとサイズに0が帰ってきます。 もしよかったらサイズ取得の方法をヒントだけでも結構ですので 教えてもらえませんか? 絶対できるのは間違いないとは思うのですが…
175 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 19:34:11 ] WebProgのテンプレをこっちにも入れたいな。 1: 自分はこういう事がしたい。 2: それでこんな風にやってみたが・・・ 3: こんなエラーが出て上手く行かなかった。
176 名前:174 mailto:sage [2008/01/26(土) 20:13:11 ] 大変申し訳ありません。 あの後、考えてみたら Win32::UTCFileTime を使ってなんとかなりそうな雰囲気です。 少なくともいくつかの例ではうまくいきました。 お騒がせして大変申し訳ありませんでした。 もうちょっと自分で考えないとだめですね…
177 名前:デフォルトの名無しさん [2008/01/26(土) 20:17:23 ] >>171 こりゃひどいね。 キミは、自分が何をしたいのかが分かってないみたいだね。 どこをどう直せばいいのか、教えるのは簡単だが それはキミにとって良くない。 入門書を読むことをオススメするよ。
178 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 20:58:43 ] >>177 そういわずに教えてあげなよ
179 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:00:22 ] >>167 ありがとう。 これからはperldoc読みます。 プログラム言語は奥が深い。 三十路にはキツイザンス
180 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:26:32 ] 下のファイルを読んで、XXX, YYY, ZZZのいずれかでなければ 値を取り込むプログラムを作りたいです。 ==== AAA BBB CCC …… ==== my @prohibit = ('XXX', 'YYY', 'ZZZ'); my @keep; if ($_ !~ /$prohibit[0]/ && $_ !~ /$prohibit[1]/ && $_ !~ /$prohibit[2]/ ) { push @keep, $_; } とすればまあできるんですが、 my @prohibit に禁止文字の追加や削除をしたときに困ってしまいます。 if ($_ !~ /@prohibit/ ) はエラーになります。 下の $ifif を作っても if 文が中身を把握してくれません。どのようにすればよいでしょうか? my $ifif; foreach my $i (0 .. $#{@prohibit}) { $ifif = $ifif . sprintf " \$prohibit\[$i\] =\~ \/\^%s\/ \&\&", $prohibit[$i]; } $ifif = $ifif . ' 0 == 0';
181 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:40:32 ] なんか宿題みたいなの多いなあ。 半年授業をサボってたんだから、少しは自分で勉強しろよ。
182 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 21:41:02 ] >>180 my $regex = join '|', map quotemeta, @prohibit; if ($_ !~ /$regex/) { ...
183 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 22:29:02 ] >>170 ありがとうございます。 単純なインクリメントで日単位の処理をしたいだけだったので Date::Calc(::Object)で対応しました、という報告をしにきたところでした。 ユリウス暦とはまったく思いつきませんでしたが、Date::CalcはA.D.以降なので ユリウス→グレゴリオ変換のほうが対応できる範囲が広がりますね。 まぁ20世紀を処理するだけなのでどっちもオーバースペックですがw
184 名前:180 mailto:sage [2008/01/27(日) 00:09:34 ] >182 ありがとうございました!!
185 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 00:35:54 ] Perlインストールしたんだけど どうやってアンインストールしたらいいの? フォルダ削除だけで平気?
186 名前: ◆TWARamEjuA mailto:sage [2008/01/27(日) 00:48:49 BE:2723055-2BP(6825)] >>180 こういうのもありかしら? for my $value (<DATA>){ %prohibit = map +($_, 1), qw|XXX YYY ZZZ|; push @keep, $_ unless exists prohibit{$_}; } exit; __END__ AAA GGG ZZZ YYY ZZZ XXX HHH >>183 月の満ち欠けを画像出力するときに、ユリウスを使って計算をしたことがありましたから(゚∀゚)アヒャ >>185 念のためrootタソになって、# rm -rf 推奨♪
187 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 00:50:04 ] ディレクトリではなくフォルダと言うあたりWindowsか?
188 名前: ◆TWARamEjuA mailto:sage [2008/01/27(日) 00:50:58 BE:4574467-2BP(6825)] >>186 なんかおかしいよな(´・ω・`) my %prohibit = map +($_, 1), qw|XXX YYY ZZZ|; my @keep; for my $value (<DATA>){ push @keep, $value unless exists prohibit{$value}; } exit; __END__ AAA GGG ZZZ YYY ZZZ XXX HHH
189 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 01:02:24 ] >>187 そうなんです まだ高校生でで思うように開発環境整えられないからさ
190 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 01:02:31 ] Regexp::Assembleでいいと思うよ。
191 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 03:03:57 ] perlの開発環境なんて本体と標準のメモ帳ありゃできるっしょ。 >>188 なんかあえて難解な書き方にしてるような。
192 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 03:48:53 ] 読めるようになってくると戻り値を変数に入れるのが面倒になってくるよ。 Winだとインストールが面倒(できない)モジュールがあったりするよ。 まぁ中級後半くらいまでは充分だと思うけど。
193 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 11:12:16 ] そのへんがPerlのまずいところでもある。 モジュール頼みのPerlなのに、モジュールがインストールできなくて ユーザーが離れていってしまうという。
194 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 12:27:43 ] かと言って初心者にいきなりUNIX系OSのPCをひとつ用意しろとか Winにcygwinを導入してPerl使えとかいうのも酷な感じもする。 まあcygwin perlもCPANで入れられないモジュールもあるらしいけどなあ。
195 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 15:30:12 ] VMwarePlayerで
196 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 15:47:07 ] サードパーティのPPM含めりゃ大抵の物はあるだろ。
197 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 17:12:33 ] colinuxで
198 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:49:21 ] VC++入れてnmakeとclにパス通してCPAN.pmを中心に使ってるが しばしばmake中にエラーが出るので、その場合にはPPMも使ってる。 CPAN.pmとPPMを併用することによるエラーも出てきてるのかもしれないが、 いずれにせよWinにおけるモジュール管理のノウハウをもうちょっと蓄積したいね。
199 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 20:08:59 ] ActivePerl 5.8.8.822を入れたんですが、ppmを使おうとすると failed: unable to open database file(1) と表示されて起動できません。 ppm-shellは起動できるんですがinstallの段階で同じエラーになります。 どうやらユーザー名にマルチバイト文字が入っているせいらしいんですが エラーを避ける方法はありませんか?
200 名前:デフォルトの名無しさん [2008/01/27(日) 22:50:58 ] Perl/Tkでスプレッドシートの Widgetを作成したいのですが、 ActivePerlでどのモジュールを利用するのか、分かりません。取り敢え ず、Tk::TableMatrixをppmのコマンドでinstall Tk-TableMatrixでインストールし ましたが、サンプルのコードが動きません。ActibePerlのバージョンは This is perl, v5.8.7 built for MSWin32-x86-multi-threadとなって います。 調べていたらuse Tk::TableMatrix;の1行のみのソースでもエラーが出 ます。エラーの内容は、下記です。 Had to create Tk::XlibVtab unexpectedly at C:/ActivePerl/lib/DynaLoader.pm line 253. Use of uninitialized value in subroutine entry at C:/ActivePerl/lib/DynaLoader.pm line 253. 15.pl syntax OK インストールに失敗しているのでしょうか? Perl/Tkの他の Widgetについては、ボタン、ラベル、メニューについては動きます。全 てのテストはしていませんが。ppmのqueryではTk-XlibVtabはありませ ん。searchでは、ActivePerlのリポジトリーにはありません。 そもそもが、スプレッドシートを使う時に、ActivePerlでどのモジュー ルが必要なのかと言う事も理解していません。 恐れ入りますが、分かる方がいらっしゃいましたら、ご教授願います。 Perl/Tkでスプレッドシートが出来なければ、わざわざPerl/TkのGUIを 覚える必要もありませんから。宜しくお願いします。
201 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:05:07 ] >>199 環境変数設定し。 新:知らないことがあってもへっちゃらさ: ActivePerl の ppm が起動しないのです riku.justblog.jp/weblog/2008/01/activeperl-ppm-.html