タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

tipsとperlに関するaklaswadのブックマーク (3)

  • Big Sky :: perldocのbash-completionが激しく便利でうれしょん出た。

    タイトルは釣りです。 perlでは一般的にperldocを使って調べ物をする事が殆どですが あれー、あのモジュールなんだっけ...IO:: 忘れた。 とか IO:: の下辺りに似たモジュールあったよなー なんて事が結構あったりするのですが(私だけかも)、今日もSys::SendfileのAuthorから「チミが送ってくれたpatchに対して僕が書いたtestがWindowsで通らないんだけど、何か分かるかい?」とメールが来てて それ、以前ワテがp5pに送ったpatchの件ちゃいますやろか、確かIO:: ...えーっと... ってなってしまった訳です。 なんか良くある事なので解決出来ないかなぁと思っていた所、見つけてしまいました。perldoc-completeを。 ap's perldoc-complete at master - GitHub A bash completion help

    Big Sky :: perldocのbash-completionが激しく便利でうれしょん出た。
  • Perlの迷信

    迷信というか勘違いなのか、PerlのVersionがあがって最適化されたのか。Perl 5.8にて確認。 foreach(0..n) vs for(my $i=0; $i<n+1; $i++) 前者は (0..n) の配列が作られるのでその分遅くなるだろうと思っていました。後述しますが、keys(%HASH) は配列生成が発生するので必ずしも効率がよくないという話を読んだりもしていたので。ところが実際に計測してみると…… use strict; use Benchmark; my %test; my $count = 10000; $test{test1} = sub { my $x; foreach(my $i=0; $i<100; $i++) { $x+=$i; } }; $test{test2} = sub { my $x; foreach(0..99) { $x+=$_; } };

    Perlの迷信
  • Windows 版 ActivePerl 5.8.X で日本語のファイル名を使う。

    結論から言うと、UTF-8を内部コードにしているとき、Windows で日語ファイル名を使いたいときは、プログラムの頭でこんな風に宣言すると便利である。 use strict; use encoding 'shiftjis'; use open ':encoding(shiftjis)'; use open ':std'; use File::Spec::Functions; use subs qw(open); sub open { use Encode; return CORE::open(shift,encode('shiftjis',shift),encode('shiftjis',shift)); } Perl 5.8.X では内部コードに UTF-8が使える。しかし、そのために日語のファイル名が正しく扱えないことがある。 たとえば、次のプログラムは何の問題もなく動作する。

    Windows 版 ActivePerl 5.8.X で日本語のファイル名を使う。
    aklaswad
    aklaswad 2008/04/28
    openをoverrideすることでwin32へマルチバイトのファイル名を書き出す
  • 1