タグ

ブックマーク / hachiojipm.github.io (3)

  • Perl の文字列エンコーディングの話 | Hachioji.pm 日めくりテックトーク

    ハァイ,先日 Plack::Request::WithEncoding というモジュールをリリースしました,@moznion です.皆様いかがお過ごしでしょうか. さて,このモジュールを書いてて Perl の文字列エンコーディングに関する知識を幾ばくか深めましたので,共有したいと思います.まあ大体の皆さんは「そんなこと知ってるぜ!! 常識だろ!」という趣だと存じ上げますが…… ただまあ,「文字化けしてつらい!!」みたいなのは誰しも通る道だと思いますので記しておくこととします! TL;DR 入り口で decode して,内部ではすべて flagged utf8 で扱い,出口で encode する.これがすべてです!とにかくこの基方針をまもっていれば幸せになれます. from Perl で utf8 化けしたときにどうしたらいいか - blog.64p.org ぶっちゃけ,上記のエントリ良す

    kits
    kits 2013/10/10
    UTF8フラグという言葉を使うべきでない。 cf. perlunifaq, http://monmon.hateblo.jp/entry/20111024/1319473613 / 引用記事は2008年。
  • Perlの警告と例外を両方握りつぶすtypesterハック | Hachioji.pm 日めくりテックトーク

    先日独立された@typesterさんのモジュールGitDDLのコードを見ていたらよくわかんところがありまして、はちぴー御用達のChatサービスyanchaでいろいろと教えてもらったので、そのご報告です。ちょっとマニアックな話題なので、はてぶとかでどしどし間違いだったりの突っ込みよろしくですー! hackishな問題のコード my $version = try { ## ここのコードがhackishでよくわからん!!! open my $fh, '>', \my $stderr; local *STDERR = $fh; $self->database_version; close $fh; }; さてこれが問題のコードです。ここだけパッと見ると、 謎にtryが始まって スカラーリファレンスのファイルハンドル開いて STDERRにぶち込んで なんじゃこりゃ?と思ったわけです。 全体をみるとの

    kits
    kits 2013/10/10
    スカラ変数に対するファイルハンドルは PerlIO::scalar, perldoc -f open, perlfaq5 等に説明あり。/ 抽象化コードには binmode STDERR, ":utf8"; が必要なように思う。
  • Perl6をかいま見るためにSeisを使ってみる | Hachioji.pm 日めくりテックトーク

    自分の感想ブログでFuture Perlのトーク聞いて思ったこととか書いてたんですが、Seisの話はそういえば全然していなかったなーって思って、じゃあ実際にどうなのかって思って、おもむろにmetacpanでSeisって打ったら上がっていたので勢いでcpanmしてみました。 で、どうなったかというと。 [- o -] $ cpanm Seis --> Working on Seis Fetching http://www.cpan.org/authors/id/T/TO/TOKUHIROM/Seis-0.12.tar.gz ... OK Configuring Seis-0.12 ... OK Needs perl 5.018000, you have 5.016003 ! Installing the dependencies failed: Installed version (5.01

    kits
    kits 2013/09/25
    Seis の requires に Path::Tiny が足りないようす。
  • 1