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 あたり
481 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 21:18:47 ] >>479 詳しくd -d 以外にテストの方法があったとしても、 次にそこに対してopendirすると失敗するので、結局目的は果たせない 例えば、ディレクトリ構造のツリーを表示するとかそんなプログラム 5.10.0 とか 5.8.9.825 では直っているかしら
482 名前:PHPの神 mailto:sage [2009/04/02(木) 22:15:14 ] >>462 お前は何か勘違いしているようだな、、、 PHPでは 「発音できないパスワードを生成する」 とか、そういうことができるんだぞ
483 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 01:52:56 ] ここって教えてくれる人がたくさんいていいな・・・ VBAスレなんて、、、
484 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 12:19:33 ] →
485 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 12:45:06 ] VBAを使う人というのは、VBAを使っても 嘔吐感、嫌悪感が生じない人なんだろ? なら、数が限られてくるわな。
486 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 15:09:01 ] >>481 最初に479に間違いがあったので訂正。 誤 4.面倒だから -e "${fn}/." で代用 (chdir/opendirにも使える/-fはopenで代用) 正 4.面倒だから -e "${fn}/./" で代用 (chdir/opendirにも使える. -fはopenで代用) 末尾への/.追加だけだと5.8.8以降ではchdirには使えなかった。 chdirの確認を常用してる5.8.7.813でしかやってなかったという単純ミス >次にそこに対してopendirすると失敗するので、結局目的は果たせない >例えば、ディレクトリ構造のツリーを表示するとかそんなプログラム そんなに難しいことをやっているの? ツリー表示程度なら sub tree { # my(@dir,$ent) = map { chomp;$_ } `dir "$_[0]" /b/aD`; # ,`dir "$_[0]" /b/aDH`; #↓は↑の手抜き変形でほぼ同内容 my(@dir,$ent) = eval { opendir my $h,"$_[0]/.";grep {-d "$_[0]/$_/." and !/^\.+$/} readdir $h }; while(defined($ent = shift @dir)) { print "$_[1]+${ent}\n"; &tree("$_[0]/${ent}",@dir ? $_[1].'| ' : $_[1].' '); } } &tree('.'); みたいにopendir無しでも書ける気がするし、opendirも成功しそうな気がするんだが。 opendirに関しては最悪DLL違いでの挙動差もありえなくは無いけどね。
487 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 15:59:30 ] opendirはできなくても、中にあるファイルをopenは出来る だからうまいことすれば大抵のソフトは回避できると思うけど、 そんな僅かなリスクの為に常時opendir禁止というのは辛すぎる
488 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 16:59:22 ] >>486 >例えば、ディレクトリ構造のツリーを表示するとかそんなプログラム 長いよ。長すぎるよ。そんなん書いたら保守性が悪いだろ。 いいかい? system("tree"); ほら、たった一行でできただろ。
489 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 20:53:37 ] treeコマンドのあるOSだけじゃないし
490 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 22:48:39 ] 5C が問題になるOSには、たいてい tree コマンドはあるよ。
491 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 00:27:34 ] Perlを使う人というのは、Perlを使っても 嘔吐感、嫌悪感が生じない人なんだろ? なら、数が限られてくるわな。
492 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:25:46 ] 優越感と陶酔感が生じますよ
493 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:30:46 ] >>492 ぷw
494 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 02:26:05 ] >>432 田植えならしかるべきとこでやっていただきたい あーゲシュタルト崩壊してきた
495 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 11:24:11 ] Perl使ってるひとはいつもこんな主張 "他の言語は使えないから、Perlが一番いい" Perlの良いことを一言も言えない
496 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 11:51:14 ] ポテンシャルを語るのに飽きたひと いわゆるYAGNI みたいな?
497 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:57:42 ] 良い点なんて他との比較でしか論じれないからな とりあえずperlが使えれば、好奇心以外に他の言語に乗り換える動機が発生しにくいので、 perlしか使わない人がおおい
498 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 22:22:18 ] Perlの世界って閉じて荘
499 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 00:35:28 ] そもそもどんな人なら「Perl使ってるひと」を名乗ってもいいのだろうか。 もしかすると>495に答えを授けた自称「Perl使ってるひと」も >497の「perlしか使わない人」も「Perl使ってるひと」ではないかもしれない。
500 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 19:11:10 ] if(($str =~ /hoge\((.*?)\)/) && ($str =~ /foo\((.*?)\)/)){ $str =~ /hoge\((.*?)\)/; $hoge=$1; $str =~ /foo\((.*?)\)/; $foo=$1; } これをもっと綺麗に書くことってできませんか?できたら教えてください。 hogeとfooの位置が前後する事があるのでこういう書き方にしました。 ・やりたいこと 文中のhoge(あいうえお)とfoo(かきくけこ)から $hoge="あいうえお"; $foo="かきくけこ";という変数を生成したい。
501 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 20:56:00 ] 中のブロックだけでいいのでは(1行目要らないのでは)
502 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 21:18:19 ] >>500 例えばこんな感じ? @pair = $str =~ /((?:hoge\([^)]*)|(?:huga\([^)]*))/g; foreach my $pair(@pairs){ my($name, $value) = $split '\(', $pair; $name = 'hoge' ? $hoge = $value : $name = 'huga' ? $huga = $value : 1 ; }
503 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 21:22:23 ] ×$name = ○$name eq 確かに>>501 の通り
504 名前: un001.ecc.u-tokyo.ac.jp mailto:sage [2009/04/06(月) 21:48:05 ] ハッシュを使うのが手っ取り早いと思う。$foo, $hoge を残したいなら my $foo, $hoge; my %refhash = ( foo => \$foo, hoge => \$hoge ); ...行ごとのループとか if (/(hoge|foo)\((.*?)\).*(hoge|foo)\((.*?)\)/) { $r1 = $refhash{$1}; $$r1 = $2; $r2 = $refhash{$3}; $$r2 = $4; ... $foo, $hogeを使った処理 }
505 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 22:39:27 ] ハッシュの例 my %hash = $str =~ /(hoge|foo)\((.*?)\)/g ; my $hoge = $hash{hoge} ; my $foo = $hash{foo} ; >1行目要らないのでは の例 my ($hoge) = $str =~ /hoge\((.*?)\)/ ; my ($foo )= $str =~ /foo\((.*?)\)/ ;
506 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 22:54:29 ] 変態の例 my $hoge ; my $foo ; 1 while $str =~ /(hoge|foo)\((.*?)\)(?{ ($1 eq 'hoge' ? $hoge : $foo )= $2 })/g ;
507 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 23:40:54 ] Singletonパターンってこれでいい? package Foo; my $singleton; sub new { my $class = shift; return $singleton if $singleton; return $singleton = bless {}, ref $class || $class; } 1;
508 名前:500 mailto:sage [2009/04/06(月) 23:52:45 ] # 最初はこうだったんですが if(($str =~ /hoge\((.*?)\).*foo\((.*?)\)/)){ $hoge=$1; $foo=$2; } # 位置関係が前後した場合に対応できない事が分かったので書き直して以下に if(($str =~ /hoge\((.*?)\)/) && ($str =~ /foo\((.*?)\)/)){ $str =~ /hoge\((.*?)\)/; $hoge=$1; $str =~ /foo\((.*?)\)/; $foo=$1; } これを前者と比べるとゴテゴテしてしまったなというところでした。 >1行目のif文 万が一hogeが含まれfooが含まれていないという場合 if文が無いとhogeの値がfooの値にも入ってしまい、それはマズいので入れてます。 ワンライナーな方のコードも読んでみました。$hoge = ($1 eq 'hoge' ? true : false)みたいな用法は知っていましたが、 この方法を右辺にも使えるんですね。自分には新しいです。(?{})というのは知りませんでした。 見た感じ正規表現の中で処理を実行する際に使うんでしょうが調べてみてもうまくヒットさせられませんでした。 もうちょっと知りたいのでキーワードとかあれば教えてください。 $hoge = ($str =~ 正規表現)での代入方法。これ知りませんでした。 あと右辺がリストで左辺もリストだと配列、右辺がリストで左辺がハッシュだと キー、値、キー、値というハッシュになるというのも便利ですね。 この用法自体は知っていましたが、実際こういう使い方ができるんだなあと。 >>505 さんのコードがわかりやすかったのでこれ使っていこうと思います。 >>501 ,502,503,504,505,506さんレスどうもありがとうございました。色々勉強になりました。
509 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 00:08:26 ] ttp://perldoc.jp/docs/perl/5.10.0/perlretut.pod A bit of magic: executing Perl code in a regular expression の項だけど、、、 >この機能は実験的であると考えられており、予告なしに 変更されるかもしれないことを >警告しておきます。 なので勉強する必要は無いと思うよ…
510 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 00:24:03 ] 実験的とはいいつつ5.6.0のころからずっとある機能だから勉強しといてもいいだろ とはいえそう使うことのあるものとも思えんが
511 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 00:33:22 ] >>507 >ref $class これ真になる事無いだろ。 インスタンスメソッドとしても機能させたいんだったら もう一工夫必要じゃね?
512 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 00:38:31 ] あー、そっか。インスタンスからnew呼んだら return $singleton if $singleton; で抜けるんだな クラスからでもインスタンスからでも同じもの返して欲しいからそこだけ削除して sub new { my $class = shift; return $singleton if $singleton; return $singleton = bless {}, $class; } こうするだけでいいのか?
513 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 00:55:28 ] ああ、一工夫もへったくれもなかったねw スマン。
514 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 20:49:43 ] >>506 ど変態の例 sub hoge { $hoge = shift } sub foo { $foo = shift } $str =~ s/((?:hoge|foo)\(.*?\))/$1/eeg;
515 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 21:03:43 ] Perlのコードを配布する際ってCPANからインストールして 使用したモジュールってどのように付属すれば良いのでしょうか? それともReadmeなどにCPANからこのモジュールをインストールしてくださいと 書いておくのでしょうか
516 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 22:15:26 ] それとも
517 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 22:18:40 ] >>515 CPAN モジュールやその他のよく知られたライブラリ類は、特に事情がなければユーザに揃えてもらった方がよいでしょう。 ユーザ環境のモジュール配布元へのアクセスが制限されていたり、配布スクリプトがモジュールの特定のバージョンに依存するなどの事情がある場合は、その旨明記した上で各モジュールのライセンスが許せば同梱することもできます。 インストールスクリプト中で依存モジュールを CPAN からインストールさせることもできますが、大抵の単体配布では単に依存関係(必要なモジュールのリスト)を(できれば POD に)明記しておくだけで充分です。
518 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 23:12:09 ] なるほど、やはりユーザーにもある程度の技術力は求められるのですね。 ありがとう御座いました
519 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 17:38:42 ] $hogeの中の「\/:*?"<>|」を全て半角スペースに置き換えるのはどうすればいい?
520 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 18:53:38 ] >>519 $hoge =~ s,\Q\/:*?"<>|\E, ,sg;
521 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 19:45:04 ] >>519-520 perldoc.jp/docs/perl/5.10.0/perlop.pod#item_tr_SEARCHLIST_REPLACEMENTLIST_cds_tr_y_transliterate__c__d__s $hoge =~ tr{\\/:*?"<>|}{ };
522 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 01:08:47 ] 質問です。 Class::Accessor::Fastを使用して ハッシュのアクセサって作れるのでしょうか? いろいろ試してみたのですがうまく行きませんでした… ↓イメージ的にはこんな感じ package My::Class; use base qw(Class::Accessor::Fast); __PACKAGE__->mk_accessors( qw(hoge) ); package main; my %hash = ( "a" => 'aaaaa', "b" => 'bbbbb', ); my $obj = My::Class->new(); #$obj->hoge(\$hash);
523 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 01:52:22 ] d.hatena.ne.jp/goryugo/20090222/1235237948 ↑の問題ってまだ残っているのでしょうか? 久しぶりにMechanizeを使ったプログラムを動かしたら 同じエラーが出るようになったのですがCommon.pmの中身が変わってしまっているようで 何処を修正すれば良いのかわからないのですが.....
524 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 02:05:45 ] s/ で / が使えない時の第一選択って何にしてる?
525 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 02:40:29 ] {}
526 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 02:47:34 ] >>524 PATTERN か REPLACEMENT がある程度長ければ、/ の有無に関わらず {} 。 短ければ PATTERN にも REPLACEMENT にも現れない棒状の文字… | か ! か # 。
527 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 03:23:38 ] >>522 $obj->hoge(\%hash);
528 名前:PHPの神 mailto:sage [2009/04/09(木) 06:53:49 ] itpro.nikkeibp.co.jp/article/NEWS/20090408/328083/ Pelってなんだよ
529 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 07:50:22 ] > 「Pelは大規模Webサービスを支え,今も進化している。しかしそのことが広く知られていない」 確かに「Pel」は知られていないなw 冗談はともかく、日曜プログラマの自分からするとめちゃめちゃ知られてるような気がするんだ けど。「Perl技術者の雇用を増やしたい」とは言ってるけど、それでも何がしたいのかよくわから ない。まだ安定した地位を得ていないRubyとかならまだわかる。 まったくの妄想だけど、Ruby on Railsに仕事を奪われがちになってるとか? でもそれなら そっちも覚えればいいだけだしなあ。
530 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 13:47:31 ] {}なんて使えるんだ うちだと、 $str =~ s{}a{}A{}; みたいにしてもエラーになる
531 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 14:12:06 ] >>530 本気なのかネタなのか判断に苦しむなそれw
532 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 14:27:26 ] $str =~ s{a{b{; 普通に考えたらこんな感じ? 変な感じ… 家帰ったら試してみよう
533 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 17:05:11 ] >>532 それはNG $str =~ s}a}b}; こっちはok
534 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 17:07:18 ] >>530 >>532 search.cpan.org/dist/perl-5.10.0/pod/perlop.pod#Quote_and_Quote-like_Operators____________________ perldoc.jp/docs/perl/5.10.0/perlop.pod 関係無いけど perldoc.jp の和訳は目次もname属性も削ってる上に 見出しが腐ってて不便極まりないな。
535 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 17:30:33 ] 一般的な正解 $str =~ s{a}{A};
536 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 18:05:55 ] 1と9を4つとを四則演算で計算結果が10になるものを出力したいのですが、 @a1 = (1,9); @a2 = (1,9); @a3 = (1,9); @a4 = (1,9); foreach $a1 (@a1){ foreach $a2 (@a2){ foreach $a3 (@a3){ foreach $a4 (@a4){ if ($a1 + $a2 + $a3 + $a4 == 10){ print $a1.'+'.$a2.'+'.$a3.'+'.$a4."\n"; } if ($a1 + $a2 + $a3 - $a4 == 10){ print $a1.'+'.$a2.'+'.$a3.'-'.$a4."\n"; (中略) if ($a1 / $a2 / $a3 * $a4 == 10){ print $a1.'/'.$a2.'/'.$a3.'*'.$a4."\n"; } if ($a1 / $a2 / $a3 / $a4 == 10){ print $a1.'/'.$a2.'/'.$a3.'/'.$a4."\n"; }}}}} こんな感じで記述する手間がとても大変です こういう場合に少ない記述で全組み合わせを試すいい方法はありますか?
537 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 18:41:26 ] @a1 = (1,9); @a2 = (1,9); @a3 = (1,9); @a4 = (1,9); @op = ('+', '-', '*', '/'); foreach $a1 (@a1){ foreach $op1 (@op){ foreach $a2 (@a2){ foreach $op2 (@op){ # 中略 $fomulae = $a1.$op1.$a2.$op2.$a3.$op3.$a4; print "$fomulae \n" if (eval $fomulae == 10); }}}} こんな感じかな。
538 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 18:51:32 ] >>537 演算子を変数に入れておkだと初めて知りました! ありがとうございました
539 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 19:06:21 ] なぜ複数形
540 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 21:10:04 ] 誰か助けて下しア 環境がPERL5.8.* Jcode 2.6.5 PERL5.6.1 Jcode2.0から移したら 今までCGIで文字化けしなかったものが化けました。 $str = '莞ゲマン'; $hoge = Jcode->new($str, euc)->h2z->euc; print "$hoge"; 今までは 潟zゲマン と表示されていたのに、 ?ホゲマン となります。 原因を調べていたら、5.8移行は機種依存文字は無視しないで?に変換してしまうとのことで。。。 これを 潟zゲマン となるように 解決したいのですが、どなたかご教授ください。
541 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 21:16:20 ] すみません 他で聴くためこちらの回答は不要です 失礼しました
542 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 21:28:24 ] 541は540とは違います。 引き続き回答お願いします。
543 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 21:50:52 ] コードをeucで書いて、sjisで読んでeucに変換して処理して、 ということをよくやるけど、ローマ数字が元に戻せなくなるんだよな
544 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 22:06:00 ] euc-jp-msでも?
545 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 22:37:02 ] そんなencodeは知らんと言われる
546 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 22:48:06 ] ppm install Encode::EUCJPMS みたいなことをしても、見つからない
547 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 22:58:35 ] 5.8.xならactivestateのリポジトリにあるみたいだけど。 ppm install Encode-EUCJPMS
548 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 23:00:35 ] それもやったんだけどな 無いってよ
549 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 23:21:10 ] 普通に入ったぞ。見りゃわかるだろうが手元はwindowsな I:\> ppm i Encode-EUCJPMS ==================== Install 'Encode-EUCJPMS' version 0.07 in ActivePerl 5.8.8.817. ==================== Files found in blib\arch: installing files in blib\lib into architecture depende nt library tree Installing C:\Perl\site\lib\auto\Encode\EUCJPMS\EUCJPMS.dll Installing C:\Perl\site\lib\auto\Encode\EUCJPMS\EUCJPMS.exp Installing C:\Perl\site\lib\auto\Encode\EUCJPMS\EUCJPMS.lib Installing C:\Perl\site\lib\Encode\EUCJPMS.pm Successfully installed Encode-EUCJPMS version 0.07 in ActivePerl 5.8.8.817.
550 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 23:25:56 ] D:\>ppm i Encode-EUCJPMS ppm i failed: Can't find any package that provide Encode-EUCJPMS なーにが違うんだろう D:\>perl -v This is perl, v5.8.8 built for MSWin32-x86-multi-thread (with 18 registered patches, see perl -V for more detail)
551 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 23:30:44 ] I:\> perl -v This is perl, v5.8.8 built for MSWin32-x86-multi-thread (with 25 registered patches, see perl -V for more detail) Copyright 1987-2006, Larry Wall Binary build 817 [257965] provided by ActiveState www.ActiveState.com Built Mar 20 2006 17:54:25 ppm repは?もしかしてactivestateのリポジトリ無効にしてるとか無いよな?
552 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 23:40:11 ] D:\>ppm rep レトトトトツトトトトトトツトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトソ ウ id ウ pkgs ウ name ウ テトトトトナトトトトトトナトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトエ ウ 1 ウ 9817 ウ ActiveState Package Repository ウ タトトトトチトトトトトトチトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトトル (1 enabled repository) 大丈夫なのか、この画面は
553 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 23:43:13 ] んー、ppmのバージョン違うのか?その表示は覚えが無いぞ… > ppm version PPM 3.4 > ppm rep Repositories: [1] tcool [2] ActiveState Package Repository
554 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 23:46:25 ] D:\>ppm version ppm 4.01 Copyright (C) 2007 ActiveState Software Inc. All rights reserved. ここがはっきり違う Binary build 822 [280952] provided by ActiveState www.ActiveState.com Built Jul 31 2007 19:34:48 ここ?
555 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 23:56:53 ] あー、わかった。activeperl5.8.xは確かbuild818か819ぐらいで別リポジトリになってるんだわ てことはそっちの新しいリポジトリに入ってないんだな 今ちょっと調べてきたらtrouchelle(ttp://trouchelle.com/perl/ppmrepview.pl)のリポジトリに入ってるみたいなんで、 リポジトリ追加したらいいと思う build822だからこれでリポジトリ追加して ppm rep add trouchelle trouchelle.com/ppm/ ppm i Encode-EUCJPMS で入ると思う ま、ローマ数字扱えるかどうかは確信がもてないがw
556 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 00:03:55 ] D:\>ppm rep add trouchelle trouchelle.com/ppm/ Downloading trouchelle packlist...done Updating trouchelle database...done Repo 2 added. D:\>ppm i Encode-EUCJPMS Downloading Encode-EUCJPMS-0.07...done Unpacking Encode-EUCJPMS-0.07...done Generating HTML for Encode-EUCJPMS-0.07...done Updating files in site area...done 7 files installed 流石は名探偵
557 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 00:08:39 ] でもローマ数字は駄目だった
558 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 00:10:42 ] と思ったら、shiftjisじゃなくてcp932にしたら上手く行った
559 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 00:14:55 ] サンプル #written in EUC use Encode; use Encode::EUCJPMS; $str = "つI"; print e2s($str); sub e2s() { my $str = shift; return encode('cp932', decode('euc-jp-ms', $str)); }
560 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 02:08:03 ] >>539 どういうことですか?