LeopardでShipItを使えるようにするPerlモジュールのリリースツールShipItを勧められたので入れてみた記録。~/.pause3.「.shipit」ファイルを用意するShipItを利用するには、プロジェクトのトップディレクトリに.shipitファイルが必要。Module::Setupとかを使っていれば自動的に生成されているので特に気にする必要はない。4.dry-runオプションで試してみるいきなり実行するのはよくないので、「--dry-run」をつけて実行して結果を確認する。darwin-2leveこれでこのユーザの環境ではperl5.10.1が使えるようになりました。leopard2009年9月13日日曜日DBIx::Encodingというモジュールを書いたYAPCおつかれさまでした。YAPC中、今まさに課題になっているDB周りの問題を解消すべくDBIx::Encodingというモジュールを書きました。このDBIx::EncodingはDBIのサブクラスで、executeとfetchの際に指定した文字コードでencode/decodeしてくれるものです。そもそもDBの文字コード設定がUTF8なら余り悩むこともないのですが、世の中いろいろと事情があってDB側を変更できない事も多いでしょう。flagを有効にした文字列を返してくれます。die;アトリビュートに設定を渡すか渡さないかでDBIx::Encodingを利用するかしないか決められるので簡単です。Lisp」読書録3前回は属性リストを作る関数を定義してみた。今回は属性リストを複数保持する変数を定義したり、その変数の中身をdumpする関数を定義してみる。前回作った属性リストを複数保持するための変数を定義する。variable)マクロを使う。nil)2.変数に要素を追加この変数に要素を追加するにはpushマクロを利用する。7))3.変数の中身をみる変数の中身を確認するだけであれば、単にREPLに変数名を渡せばよい。7))ただ、これだけだと先ほど変数に格納したときに出力されたものと何ら変わらなくて面白くない。そこで、もう少し読みやすい形に出力してみる。変数dbにはいくつかのレコードが入っているが、これを一つ一つ処理するにはdolistマクロを用いる。出力内容を整形する場合にはformat関数を用いる。組み合わせると下記のようになる。7NILdolistはよいとして、ここで気になるのはformat関数である。format関数は少なくとも2つの引数を取る。最初の1つ目が、標準出力を表すtで、2つ目がフォーマット文字列である。フォーマット文字列の詳細はこちらのページに任せる5.format関数format関数は「~{」と「~}」に挟まれた部分にある指示子を処理していく。先ほどのフォーマット文字列では最後が「~%」となっていたが、これは一つ余分に改行コードを出力するもので、先ほどの出力結果と下記出力結果で多少違う事がわかると思う。7NIL最後の~%の有無で、1レコード毎に入っていた改行部分が変化しているのがわかる。次回はファイル入出力の予定。