2010-01-01から1ヶ月間の記事一覧

The difference of "return;" and "return undef;"

"Perl Best Practices" recommends to use "return;"*1 to return nothing, but it might be wrong in some cases. If you use this idiom for those functions which are expected to return a scalar value, e.g. searching functions, the user of those …

Perl 5.11.4 features

Perl 5.11.4がリリースされた。例によって修正をピックアップ: UNIVERSALモジュールによるisa/canのインポートがdeprecatedになり,警告が出るようになった versionのフォーマットが厳格に定められた。詳細は不明だが,package NAME VERSION 構文では"stric…

それでも私がPerlを使い続ける理由

それでもっていうか I ♥ Perl な私ですが。いろいろ並べたてようとしたものの,Perl以外の(LLな)言語はそんなに詳しくないのであまり比較できないことに気付いた。ただ,use strictの元での変数スコープの在り方はRubyやJavaScriptよりも直観的で好き。ブ…

What's your clone policy? - Data::Clone

複雑なデータ構造のコピーにはStorable::dclone()やClone::clone()がよく使われてきた。しかし,これらのクローンポリシーには疑問がある。そこで,新しいクローンモジュールを書いてみた。 Data::Clone - search.cpan.org Data::Clone - github.org さて,…

File::Spec::Memoized - Makes File::Spec faster

File::Specはファイルパスを扱うために欠かせないモジュールだが,メソッドによっては非常に遅くプログラムのボトルネックになりかねない。 このようなケースでは,メモイズ(Memoize)というテクニックが役に立つ。メモイズは,引数が単純で副作用を持たない…

MouseX::Types 0.04 released with type predicates

MouseX::Typesに著作権情報を付加するついでに、オリジナルに搭載されている型述語関数も追加した。ただし、オリジナルと異なり、明示的に指定しない限りエクスポートはしない*1。 #!perl -w use 5.010; use Any::Moose; use Any::Moose 'X::Types::' . any_…

あけましておめでとうございます

今年もよろしくお願いします。今年の目標: p5pにもっと深く関わる コアの最適化とか拡張とか 標準モジュールをいじったりとか Mooseにも引き続き関わる Mouseで得たものをフィードバックしたい Cygwinに関わりたい Cygwin Perlの一部でWin32APIを直接呼び出…