portsにlang/ruby19が存在して、mechanizeが使用するライブラリがhpricotからnokogiriに変更されたと知りruby1.9への移行を再開した。
sudo portinstall libxml sudo portinstall libxslt sudo gem19 install mechanize
でインストールが完了した。試しに適当なスクリプトを動かしてみると、http://d.hatena.ne.jp/kitamomonga/20081226/ruby_nokogiri_is_only_for_utf8に書かれているように日本語の扱いが変わってしまっているようだ。
def clip_login_check login_page = @@AGENT.get("http://clip.livedoor.com/clips/#{@id}") login_page.links.text("ログイン").empty? end
が
invalid multibyte char (SyntaxError) syntax error, unexpected $end, expecting ')'
となってしまう。
(1月18日追記)訂正します。上記がエラーとなるのはRuby1.9で文字コードの扱いが変わったからでした。Ruby 1.9.0 で tDiary を動かしてみる(トップページだけ), Ruby1.9 で --encoding オプションはつけないほうが幸せ?, Ruby 1.9.0 の ERB ではテンプレートの encoding が欠落す.. - まちゅダイアリー(2007-12-28)が詳しいです。