perlに関するkameidのブックマーク (31)

  • LunaTear: YAML::Syckの罠

    YAML::SyckがインストールされているとCatalyst::Plugin::ConfigLoaderで正規表現が展開できません。 たとえばYAMLPerlの正規表現を書く場合 foo: !perl/regexp: REGEXP: '^hoge$'なんていう風に書きますが、YAML::Syckが入って居ると'foo' => bless( { 'REGEXP' => '^hoge$' }, 'regexp:' ) },なんていう風に展開されます。 ちなみにYAML::Syckなしの場合 'foo' => qr/(?-xism:(?:^hoge$))/と正常に展開されます。 とりあえず、Catalystでは「http://search.cpan.org/src/AGRUNDMA/Catalyst-5.6902/lib/Catalyst/Plugin/ConfigLoader/YAML.p

    kameid
    kameid 2009/07/08
  • Part1 正しいPerl/CGIの書き方:ITpro

    Shibuya Perl Mongers 2代目リーダーにして,ppencodeの作者。広島市立大学卒業後,大企業向けmod_perl製品の開発に従事。2005年よりサイボウズ・ラボ株式会社に入社。LL Ringに参戦。Namazu for Win32,Plagger,Ajajaのコミッターでもある。 CGIといえばPerl。そんな風にいわれていた時期もありました。レンタル・サーバーのCGIで手軽にPerlが使えたこともあり,ちょっとした掲示板のスクリプトやアクセス・カウンタなど,CGIプログラムの多くがPerlで書かれていました。このためPerlが爆発的に普及したのです。Perlは日のインターネット黎明期を支えたプログラミング言語として,広くその名が知られています。 その半面,Perlで書かれたプログラムの保守性に悩む声も聞かれるようになりました。事実,Perlのプログラミング経験が少

    Part1 正しいPerl/CGIの書き方:ITpro
    kameid
    kameid 2009/07/06
    「perlベストプラクティス」の補完として。
  • 今日のCPANモジュール(跡地) 目次

    Redirecting… Click here if you are not redirected.

    kameid
    kameid 2009/06/25
  • The Phalanx 100

    Following are the 100 distros that Phalanx will be focusing on. This list may contain "dual-life" modules that are part of core Perl, but that are updated and distributed separately from Perl itself. Modules that are only distributed in core Perl will be handled in a different phase of the project. The FAQ has info about how this list was created.

    kameid
    kameid 2009/06/12
  • 最速インターフェース研究会 :: CPAN最速検索

    作りました。 http://cpan.ma.la/ Firefox用パネル。ブックマークしてプロパティ→サイドバーに読み込む。 http://cpan.ma.la/panel.html 全モジュールのリストを改行で区切ったテキストファイルを受信してクライアントサイドで検索させています。クライアントサイドで検索させているのでサーバー負荷は全くかかりません。 仕組み省メモリ、高速に動作するように工夫してあります。 - 配列に変換せずに一つの巨大な文字列から検索 → 切り出し。 - クロージャで次の検索結果を取得する関数を保持しておいて、描画が必要になった時点で検索を実行。 -- その代わりにトータルのヒット件数がわかりません。 今の所の機能- 上下で選択、エンターでperldoc表示、マウスクリックでもperldoc表示。 - 正規表現がおかしくなければ、そのまま使えます。 -- 例えば \d

  • CPANの漁りかた

    Perlの学習コスト高いよね、て感じのエントリが目立つのでふと思い返してみると、ぼくは1年前は 救命病棟でいうところのレベル4くらいでした。変数に our をつけると何がどう違うのかわかなかったりしたのを覚えてます。 その後1年、今はレベル8弱ってとこでしょうか。バグレポートはなるべく出すようにしていますが、車輪になりそうで、モジュールはまだ上げてません。 この1年どうやってレベルを上げてきたかなといえば、CPANあさり、これに尽きます。で、これから Perlやるぞって人にもしかして参考になるかもしれないので、ぼくがやってきた自己流の漁りかたを書いておきます。 1. まずはPerlStyleを読み直す miyagawa さんが以前 WEB+DB PRESS で連載していた Perl Style というのを、総集編マガジンで今も入手可能です。これはロギングとか OR マッピングなどの基的題

    CPANの漁りかた
    kameid
    kameid 2009/06/12
  • 入門:log4perl deロギング|株式会社 フラッツ

    perlでロギングするための入門 今回は、perlでロギングを行うためのlog4perlの入門編を実施したいと思います。 なぜロギングか 私は以前、JavaでのWeb開発をおこなっていましたが、その際にロガーは欠かせないものでした。 そこでは、いろいろと問題があるものの、log4jという比較的高速なロガーをつかっていました。(いろいろな問題の一つは、マルチプロセスなプログラミングに対応していないことに起因していて、はまると大変です) JavaでもPerlでも、開発時にプログラムの要所要所でロガーの出力する値を確認することで、スピーディーに開発をすすめることができます。ロガーを使ったあとで、使わずに開発をするということは、目隠しをされてプログラムをしろといわれているようなものだと感じることでしょう。 そこで今回は、perlでのロギング入門をしたいと思います。 perldocを読めばわ

    kameid
    kameid 2009/06/12
    perl でのロギング
  • Perlの細道・けもの道

    WindowsPerlの細道・けもの道 ■ナビゲータ [南北館(最初のメニュー)] [WindowsPerlの細道・けもの道] [1.準備編] [2.基編] [3.応用編] [3-1.固定長データとCSVデータとの変換] [3-2.重複データの処理] [3-2-1.キーの重複したデータを1つにする] [3-2-2.キーの重複したデータだけを出力する] [3-2-3.キーの重複したデータにマークをつけて、出力する] [3-2-4.ハッシュを使って、キーの重複したデータを1つにする] [3-2-5.ハッシュを使って、キーの重複したデータだけを出力する] [3-2-6.ハッシュを使って、キーの重複したデータにマークをつけて、出力する] [3-3.フォルダ内の一括処理] [3-4.1つのファイルを複数のファイルに分割する] [3-5.文字コードの変換] [3-6.半角全角変換] [3-7.

    kameid
    kameid 2009/06/12
     キーの重複除去
  • Perlで配列を簡単にハッシュにする方法 - 空繰再繰

    日はPerlに関する小ネタ。というか忘れないようにするメモ。 Perlで配列を簡単にハッシュにするには、 my @array = ( foo, bar, baz ); my %hash = map { $_ => 1 } @array; # %hash = ( foo => 1, bar => 1, baz => 1 ); みたいにすればいい。誰でも思いつきそうやり方だけど最近まで気づかなかった。 でコレを利用すると配列からユニークな要素を取り出せる。 my @array = ( foo, bar, baz, foo, bar, baz, hoge, huga, moge ); my @array2 = keys map { $_ => 1 } @array; # @array2 = ( foo, bar, baz, hoge, huga, moge ); ++[date:2006/09

    kameid
    kameid 2009/06/12
  • NFSサーバーでのファイルロック方法について

    kameid
    kameid 2009/06/11
  • Perl における Prepared Statement のベンチマーク - id:kazuhookuのメモ置き場

    MySQLSQLite について測定してみた。「np」がプリペアードステートメントを使わない場合、「p」が使った場合。「;srv」というのはサーバサイドプリペアードステートメントを有効にした場合。 $ ./dbi-prepared-bench.pl Rate sqlite:np mysql:np mysql:p;srv sqlite:p mysql:p sqlite:np 7519/s -- -28% -50% -51% -57% mysql:np 10417/s 39% -- -31% -32% -41% mysql:p;srv 15152/s 102% 45% -- -2% -14% sqlite:p 15385/s 105% 48% 2% -- -12% mysql:p 17544/s 133% 68% 16% 14% --全般的にプリペアードステートメントを使って DBI::

    Perl における Prepared Statement のベンチマーク - id:kazuhookuのメモ置き場
    kameid
    kameid 2009/06/04
    perl からの mysql ベンチマーク ソース付き。