Pipesのrss

半月くらい気づかなかったけどPipesrssが変。

http://pipes.yahoo.com/pipes/pipe.run?_id=LnwDFzMM3BGA5e7EJZhxuA&_render=rss

のように、記事がない時に下のようなゴミ?がついてくる。

      <item>
         <title></title>
         <description></description>
         <pubDate>Wed, 16 Sep 2009 20:55:41 -0700</pubDate>
         <guid isPermaLink="false">LnwDFzMM3BGA5e7EJZhxuA_ed3bde3ffc147f62d43e80e0418b8ba2</guid>
      </item>

おかげでPlaggerこけまくり。

Aggregator/Simple.pmを適当に書き換えたらいけた。

     25     my $url = $args->{feed}->url;
     26 
     27     return if ($url =~ /^http/);
     28     my $res = $self->fetch_content($url) or return;

ひさしぶりにPlaggerのソース触ったけど浦島状態。

メソッドチェーン

ぜんぜんわかってないけど

$book->author( 'a' )
$book->name( 'b' )
$book->to_string;

くらいだと、以下のようになると見易いとおもう。というかnewの引数?

$book->set_attributes(
  author => 'a',
  name   => 'b',
);
$book->to_string;

セッターはまとめて指定できて、ゲッターは個別に取得がわかりやすい。

DBD::SQLiteのインストール

仕事でWikiが必要になり、Syntaxが自由に選べてMarkdownが使えるWikiとして、MojoMojoを試してみた(Kwikiでもよかったが、違うものを試してみたかった)。さくらインターネットだが、PlaggerでかなりのCPANモジュールを入れたはずなのに、かなりのモジュールを追加された。Devel::Callerがうまく入らないので、Perl本体も5.8.8にアップデートしてみた。

と前書きはこのくらいで、今回のネタ。

DBD::SQLiteがうまくインストールできなかった。エラーは、

Can't load '/home/xxx/.cpan/build/DBD-SQLite-1.14-Fb4B0v/blib/arch/auto/DBD/SQLite/SQLite.so' for module DBD::SQLite: /home/xxx/.cpan/build/DBD-SQLite-1.14-Fb4B0v/blib/arch/auto/DBD/SQLite/SQLite.so: Undefined symbol "sqlite3_prepare_v2" at /home/xxx/local/lib/perl5/5.8.8/i386-freebsd/DynaLoader.pm line 230.

というもの。

Webを探してみたが、それらしい解決法は見当たらなかった。

いろいろ試した後で、Makefile.PLをみてみたところ、

# 2005/6/19, by rjray@blackperl.com
#
# Determine if we are going to use the provided SQLite code, or an already-
# installed copy. To this end, look for two command-line parameters:
#
#    USE_LOCAL_SQLITE -- If non-false, force use of the installed version
#    SQLITE_LOCATION  -- If passed, look for headers and libs under this root

という記述を発見。早速

perl Makefile.PL USE_LOCAL_SQLITE=true

としたところめでたくインストールできた。要はDBD::SQLiteSQLiteを内包しているが、デフォルトではインストール済みのSQLiteを使用するみたい??。このオプションで、付属のSQLiteコンパイルが始まった。

丸一日くらい悩んで当初の目的を忘れかけた頃に、MojoMojoを試すことができた。が、「Out of memory!」でCatalystが落ちてしまって使えなかった。

Kwikiにもどるか。疲れた。

Markdown(本当はテーブルも使えるMultiMarkdown)が使えるWikiでおすすめはありませんか?

SAKURAインターネットでsvn文字化け

sakuraインターネットで「LANG=ja_JP.UTF-8」していてもsubversionがエラーを出してくる。で、

alias svn="LANG=ja_JP.eucJP svn"

でもいいんだけど、diffやlogが化けるので以下でお茶を濁す

#!/bin/sh

SVN="$HOME/local/bin/svn $@"

if [ $1 = 'ci' -o $1 = 'comit' ]; then
  LANG=ja_JP.eucJP $SVN
else
  LANG=ja_JP.eucJP $SVN | nkf --utf8
fi

追記:
と思ったけどsvn:ssh://だとまだ変になる。

追記2:

svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LANG is ja_JP.UTF-8
svn: warning: please check that your locale name is correct

こんなメッセージが出てたけど、
LANG=ja_JP.UTF-8を.bashrcから.bash_profileへ移動したら出なくなった。