PerlモジュールのXML::RSSを使ってXMLファイルを処理しようと思ったら、
Couldn't open encmap shift_jis.enc: No such file or directory at 云々...
てなエラーが出て動かない!
調べてみると、どうやらPerlのXML::Parserとか、XML::Parserを利用しているXML::RSSモジュールが、
EUCとかSHIFT-JISからUTF-8への変換に対応していないことが原因らしい!
解決方法として、
Perl XMLでencoding='Shift_JIS'や'euc-jp'を使うにある方法を取るとエラーが吐き出されなくなるらしい。
という訳でさっそく!!
何々、まずは「/usr/local/lib/perl5/site_perl/5.005/XML/Parser/Encodings」に移動ね。。
って、Finderで行けないやんけ!隠しフォルダか!Terminalか!!
え〜、でもTerminal。。ですか。。。vi。。。ですか。。。や、まぁ使えるけど。。。さ。
ってことでFinderで隠しフォルダを表示する方法を探したら出てきた出てきた!
#隠しファイル・フォルダを表示
defaults write com.apple.finder AppleShowAllFiles TRUE
#隠しファイル・フォルダを非表示
defaults write com.apple.finder AppleShowAllFiles FALSE
で、Finderを再起動(dockにてoptionキーを押しながら右クリック>再度開く)すると、隠しが出たー!快適快適!笑
因みに、Terminalで色々なディレクトリに移動してるときに、ふとそこをFinderで開きたいなって時は、
open .
と打ってやるだけでFinderが開くことを知りました。便利!!
という訳で横道にそれたけど、上記サイトの通りに,作ったshift_jis.eucファイルを
ディレクトリに置いて、再実行。
無事にエラーが無くなるかと思いきや、しかし相変わらず同じエラーが吐かれる。。。なんなんじゃあ。。。
一度UTF-8に変換すればいいのかしらね。。
何かもはやWebScraperとして歩み始めた人(笑)としては、既存のRSSを使うよりも、
自分でRSSを作っちゃう方が精神的に楽だあ。未解決って気持ち悪いなあ。