久々にやってしまったPerlでの失敗

 最近知ったのだが、CPANのモジュールをアップデートするには以下のコマンドを使うと、まとめてアップデートできる。


perl -MCPAN -e 'CPAN::Shell->Install(CPAN::Shell->r)'

 
 こりゃ楽チンだー、と感動をそのままTwitterに伝えた後、サーバ内で上記コマンドを実行。
 無事にアップデートを完了する。
 
 が。アップデートは終わったのだが、Plaggerで今まで自動クロールさせていたデータが更新されなくなった。
 cronでまわしていたのだが、エラーが出ている模様。as_HTMLというメソッドがHTML::TreeBuilder::XPath::TextNodeにないとか……。確かにソースコードを追いかけてみたけど、そのような記述はない。
 
 Googleで検索してみると、ずいぶん昔にPlaggerでそのような問題があったらしいが、既に修正されているらしい。
 ちなみに、正常に動いていた頃のPlaggerSVNからチェックアウトして、自前でビルドしたものを使用している。(ただし、CPANで一度インストールした後、SVNでチェックアウトしたものを上書きする形でインストールした。)

 というところまで来て、CPANの最新のモジュールより、SVNでチェックアウトしたPlaggerのほうが新しいため、上記コマンドを実行すると、インストールされているモジュールより古いものが上書きされてしまうのではないかという結論に達した。
 
 結局もう一度SVNからPlaggerをダウンロードして、再ビルド。
 なんとかPlaggerが元通り動くようになるところまで修正できました。
 
 あー、危なかった……。