読者です 読者をやめる 読者になる 読者になる

Perlメモ(2)

perl

Perlを触りだすと、自分のネイティブプログラミング言語は、Perlだなと実感します。ただ、Perlに限らず、プログラムは好きなので、9時~17時の労働で、プログラムだけ書いて適当に過ごせないものかと思うが、日本では難しいようだ。がんばるしかない。

さて、自分は、学生の時から入力ファイルと出力ファイルを残しながらプログラムを作っていくということをやっている。どういうことかというと、

cat input1.txt | ./1.pl > output1.txt
cat output1.txt | ./2.pl > output2.txt
cat output2.txt | ./3.pl > output3.txt

みたいな感じで、中間結果を残しつつ加工している。もちろん、業務で必要とされているプログラムでこんなことはしない。ただ、研究の時のように、結果を見ながら試行錯誤が必要なプログラムでは、このようなやり方の方が、中間結果をいつでも確認できて、都合が良い。

しかし、このスタイルの問題点として、中間結果のフォーマットを決めるのがめんどうだということがある。例えば、CSVだと、地味にParser書くのがめんどうだし、tsvだと、フォーマットの間に値を格納したくなった場合に、後のプログラムを全部直さなくてはならなくてなかなかめんどうである。

そんな時に、LTSV形式というフォーマットに出会いました。

http://ltsv.org/

このフォーマットがなかなか便利である。良い点は、以下の記事にまとまっている。

http://d.hatena.ne.jp/naoya/20130209/1360381374

さて、Perlで扱う場合は、Text::LTSVというcpanモジュールを利用するのが便利である。

http://search.cpan.org/~naoya/Text-LTSV-0.07/lib/Text/LTSV.pm

では、この形式を自然言語処理に応用するとどうなるか?というのを明日やってみよう。うん。眠い。

広告を非表示にする