Text::CSV::Simpleをレンタルサーバーで使う

CSVを読み取って、それを整形して出力。
なんて事、よくあります。どっかにモジュール転がってないかなーとググったところ、

101号室: [perl] Text::CSV::Simple

Text::CSV::Simpleが便利すぎる。
このモジュールはCSVを読み込むときに、各行をリストではなくハッシュにすることができる。

おお、まさにこういう事がしたかった。
読み込む際に各種データフィールド名を指定しておけば勝手にハッシュにしてくれるスグレもの。
ここまでモジュールがやってくれれば、後はTTに丸投げ出来るすばらしいモジュールです。

ところが!!

このText::CSV::Simpleというモジュールの中身をのぞいてみると、どうやら、

Text::CSV_XS

てなXSなモジュールをuseしているようなので、そのまんまではレン鯖などで使うには問題アリ。
そこで、Text::CSV_XSをそっくりそのまま、

Text::CSV_PP

に置き換えちゃいました。
これでレン鯖対策完了です。

ひとまずモジュールは、Text::CSV::Simple_PP として、使う事にしました。

Text::CSV::SimpleからText::CSV::Simple_PPにコピペ後、あらゆるText::CSV_XSやText::CSV::SimpleをText::CSV_PPやText::CSV::Simple_PPに変えるだけです。

$ diff Simple.pm Simple_PP.pm
1c1
< package Text::CSV::Simple::__::Base;
---
> package Text::CSV::Simple_PP::__::Base;
10c10
< package Text::CSV::Simple;
---
> package Text::CSV::Simple_PP;
12c12
< use base 'Text::CSV::Simple::__::Base';
---
> use base 'Text::CSV::Simple_PP::__::Base';
18c18
< use Text::CSV_XS;
---
> use Text::CSV_PP;
140c140
< return bless { _parser => Text::CSV_XS->new(@_), } => $class;
---
> return bless { _parser => Text::CSV_PP->new(@_), } => $class;

CPAN様々を痛感します。
久しぶりにPerl書いてるけど、やっぱり楽しい!

pagetop