タグ

perlに関するbull2のブックマーク (33)

  • 404 Blog Not Found:perl - 万能なnewの書き方

    2007年04月23日22:45 カテゴリLightweight Languages perl - 万能なnewの書き方 Perl 5のOOは、慣れてしまうと簡単だ。 継承とか考えずに、普通にクラスを作りたければ、必要なのは以下の二行だけ。 package Klass; sub new { bless {} }; これだけでは何もできないので、とりあえずnameというアクセサーを追加してみる。これだけ。 sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; } しかし、上の形式だと、継承をサポートしていない。だから、 package Klass; sub new { bless {} }; package Klass::Sub; our @ISA = qw/Klass/; # new

    404 Blog Not Found:perl - 万能なnewの書き方
  • 404 Blog Not Found:perl - POO と goto

    2007年04月24日00:45 カテゴリLightweight Languages perl - POO と goto というわけで、番。 404 Blog Not Found:perl - 万能なnewの書き方 ここからが面白くなるのだが次のEntryへ譲るここに着目していただきたい。 sub init { my $self = shift; $self->{$_} = $default{$_} for keys %default; $self->SUPER::init(); } 初期化に限らず、自分で何かをしたら次のメソッドに振るというのは、OOでは非常によく見られる光景だ。特にpluginなどを使っている場合、それが著しい。 しかし、このコード、次のメソッドに振っているのはいいのだけど、振ってから戻ってくるのだ。メソッド呼び出しも関数呼び出しに過ぎないのだから、当然といえば当然だ

    404 Blog Not Found:perl - POO と goto
  • 404 Blog Not Found:perl - パッチなしでパッチする

    2007年04月09日16:15 カテゴリLightweight LanguagesTips perl - パッチなしでパッチする Perlに限らず、動的に名前空間を書き換えることができる言語ならコンセプトはパクれるはずのtips. 状況 人様が書いたモジュールにバグ発見! バグ直した パッチも送った でも作者が$VERSION++してくれない さあどうする? オレバージョンのモジュールをつなぎでつかう? でも標準でないものをイントールするのはいやん サブクラス作ってメソッドをオーバーライドする? でも問題のモジュールが継承をサポートしているとは限らないし そもそも問題のモジュールOOじゃなかったりもするし 代替モジュールを書いてCPANにうp? -- i.e. JSON::* でも元々のモジュールがあまりによく使われているし うpは簡単でもサポート大変そうだし.... 実例 See Al

    404 Blog Not Found:perl - パッチなしでパッチする
  • お世話になったPerl本のまとめ - Unknown::Programming

    僕が今までPerlの勉強、及び学習のために利用したPerl関連の書物についてのまとめをば書いてみます。 Perlデバッグ明快技法 作者: Martin Brown,岡田長治出版社/メーカー: オーム社発売日: 2001/05メディア: 単行 クリック: 1回この商品を含むブログ (4件) を見る まずは僕が始めて購入したPerl。 会社に置いてあったラクダをざっと一通り読み終わったときになんか自分でもが欲しいなと思ってたときに見つけた。 バグやエラーに対する心構えやstrictとwarningsの詳細な使い方と説明、シグナルハンドラについて色々と学ぶところがあって良かった。あとはプロファイラについての説明が熱くてこれを知った当時はプロファイラ使っていろんなプログラムの負荷テストとやってみたりしたもんだ。 最後に付録として診断(エラー)メッセージもついててナイス。 そういや診断メッ

    お世話になったPerl本のまとめ - Unknown::Programming
    bull2
    bull2 2007/04/02
  • perl - Inside-out Object : 404 Blog Not Found

    2007年03月11日03:30 カテゴリLightweight Languages perl - Inside-out Object ところが、そのないはずの隠蔽化を強制する仕組みがすでに発見されているのです。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] ビンゴ中西のほげほげ Kansai.pm第8回ミーティングに行ってきました@荷造り中そして、Perlのオブジェクト指向には 隠蔽化を強制する仕組みはない いつか書こうと思っていたけど、ちょうどいい機会なので。 ここでは例として、name,uriという二つのインスタンス変数を持つオブジェクトを実装してみます。 InsideOut.pm { package InsideOut; use strict; use warnings; my %objects; sub new { my

    perl - Inside-out Object : 404 Blog Not Found
  • perl - B::Deparse : 404 Blog Not Found

    2007年02月11日13:45 カテゴリLightweight Languages perl - B::Deparse 尻馬乗るべし、ということでB::Deparseの紹介。 いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。実は私も、デバッガーはperl -de1ぐらいしか使っていない(perl -de1は非常によく使うので、Terminal.appのウィンドウの一つがそれ専用になっている。スクリプト言語のインタラクティブな利用法に関しては以前「404 Blog Not Found:LL Intaractive」にまとめたのでそちらをご覧頂くとして、ここではなぜスクリプト言語では滅多にデバッガーを使わないかをおさらいした

    perl - B::Deparse : 404 Blog Not Found
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    bull2
    bull2 2006/12/22
  • 404 Blog Not Found:perl - In-Memory File

    2006年11月08日04:30 カテゴリLightweight Languages perl - In-Memory File Perl 5.8以降では、このような場合にin-memory fileが使えます。 【続】やはり Perl はメモリ喰いな言語。データ型の内部構造 :: Drk7jp DB上の全レコードをいったん perl 側の配列に格納して、その結果を返す。ってコードなのですが、当然ながらレコード数が多くなればメモリをうのは当たり前なのですが、以前の記事の内容を完全に忘却してました。ここには落とし穴があるのです。使い方は、簡単です。 my @array = (0x21..0x7e); my $memfile; open my $wfh, '>', \$memfile or die $!; print $wfh chr($_), "\n" for (@array); clos

    404 Blog Not Found:perl - In-Memory File
    bull2
    bull2 2006/11/08
    もしarrayの内容にsequentialにしかアクセスしないのであれば、この方法で劇的にメモリー消費量を減らせます
  • Six Apart - Tech Talk Blog: 分散ファイルシステム MogileFS について

    初登場になります、酒井といいます。 今回は Six Apart のサービスで使われている MogileFS というファイルシステムを紹介したいと思います。MogileFS については、日語の情報はあまり…、というかほとんどない状況ですので参考にしていただければと思います。では早速。。。 MogileFS とは MogileFS とは、Perl で記述されているオープンソースな分散ファイルシステムです。 プロジェクトホームページ http://www.danga.com/mogilefs/ メーリングリスト http://lists.danga.com/mailman/listinfo/mogilefs 上記のホームページ内でも紹介されていますが、主に以下のような特徴があります。 アプリケーションレベルでの実装なので特殊なカーネルモジュールいらず。 ファイルを複数ホストに自動コピー / バ

    bull2
    bull2 2006/10/13
    FSと呼ぶには貧弱だが,SAN+RAIDに対抗するコモディティ技術としては脅威になるかも
  • CPAN::Mini で CPAN のミラーをローカルに: blog.bulknews.net

    CPAN::Mini で CPAN のミラーをローカルに DECON で話してきたネタですがちょっと詳しく。 飛行機やら電車の中やらでオフラインハックするときに(たまに)問題になるのが CPAN モジュールの不足です。「あぁ、このマシンにはあのモジュール入ってねぇ~」とかでハックが滞るのは萎えます。というわけで minicpan。CPAN::Mini というモジュールで、CPAN モジュールの最新版だけを持ってきてミラーをつくることができます。 導入は簡単で、CPAN から install CPAN::Mini すると minicpan というコマンドが付属してきます。コマンドラインから使うには、 > minicpan -r http://ftp.funet.fi/pub/languages/perl/CPAN/ -l ~/minicpan とかすれば finet から HTTP で同期で

    bull2
    bull2 2006/10/04
    最新版のCPAN archiveをlocaldiskに
  • naoyaのはてなダイアリー - Perl で CSS セレクタ

    rubyスクレイピングして web の情報を取得するのには、今まで正規表現か xpath でやってたので、わりと面倒でした。で、ふと scrAPI というスクレイピングツールキットを知ったのですが、これがかなり便利そう。 このツールキットを使うと、CSS3 なセレクタを記述することで、要素を取得することができます。 という Ruby の scrAPI での CSS セレクタがいい感じでございますなあと指をくわえて見てたんだけど、 Per discussions in CSS Selector in Perl, I made a quick perl module HTML::Selector::XPath, which is available at http://svn.bulknews.net/repos/public/HTML-Selector-XPath/trunk/ now.

    naoyaのはてなダイアリー - Perl で CSS セレクタ
    bull2
    bull2 2006/10/04
    cssセレクタ->xpathへの変換
  • しげふみメモ:Windowsで簡単にPlaggerをインストールする方法

    2006年08月28日20:03 カテゴリPlagger Windowsで簡単にPlaggerをインストールする方法 Windows XPにPlaggerを 最初からインストールする機会があったので、 Charsbar::Note - ppm for Plagger で公開されているWin32用のppmリポジトリを使わせて頂きました。 Plaggerは4月ごろにいろいろと苦労してインストールして以来、 便利に使っているのですが、今回はあまりにも簡単にインストールできたので、方法をメモしておきます。 [2006年 12/3追記] Plaggerは開発が活発なため、今後この方法ではうまくいかなくなるかもしれません。 公式ページの日語Wikiに、インストールについてのページができる予定のようです。 WikiStartJa - Plagger - Trac 参考:subtech - Bulkne

    しげふみメモ:Windowsで簡単にPlaggerをインストールする方法
    bull2
    bull2 2006/08/28
    ActivePerlにはCPANだけじゃなくてppmという仕組みがあるのね。
  • Plagger の概略

    bull2
    bull2 2006/07/25
    RSS/Atom他の相互変換