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

MouseX::Foreign (a port of MooseX::NonMoose) released!

ずっとやろうと思っていてやっていなかったMooseX::NonMoose の Mouse版をようやく書き上げました。なかなか完成しなかったのは、いい名前が思いつかなかったのと、Mouse本体に組み込めるかどうかの検討をしたかったからです。検討の結果、Mouse本体に組み込…

Data::MessagePackをXslateのキャッシュ保存用に使ってみる

Text::Xslateのコンパイル済みコードは今まで独自フォーマットで保存しており、これはこれでデバッグしやすくて便利だったが、CLIアプリケーションではこのコンパイル済みコードのロードにほとんどの時間を費やす羽目になっていたのだった。そこで、速度が売…

クロージャにバインドされた値を見たい時

Moose/Mouseのmethod modifiersのようにクロージャを多用するプログラミングをしていると、バインドしている変数の中身も含めてDeparseしたいことがよくあります。 そういうケースでは、Data::Dump::Streamerが使えます。 #!perl -w use strict; use feature…

Re: Perlスクリプトの一行目には何と書くべきなのか

Re: Perlスクリプトの一行目には何と書くべきなのか もしCPAN形式でスクリプトを配布するなら、それは#!/usr/bin/perlないし#!perlとするべきで、env(1)を使うべきではないと思います。 CPAN形式のディストリビューションでは、インストールするスクリプトの…

use_xshelper() # M::I::XSUtil 0.30 feature

STATIC_INLINE の話にあるオレオレXSヘルパヘッダをModule::Install::XSUtilから使えるようにしました。 中身はというと、perl.hなどのXSで必要なヘッダファイルをインクルードして、Devel::PPPortで未サポートのPerl APIを定義して、あとはちょっとだけ便利…

XSでCの文字列操作関数を使用するべきでない理由

またはRe: PerlとC言語の型に対応する値への相互変換 XSでCの文字列操作関数の使用はなるべく避けるべきです。Cの文字列操作関数は危険で使いにくいものです。その代わりに、Perlが提供する安全で使いやすいSV APIを使ったほうが余計なことを考えずに済みま…