Perlによるテキストデータの処理方法について

提供: dococo wiki
2015年12月19日 (土) 09:20時点におけるimported>Webmasterによる版
ナビゲーションに移動 検索に移動

Perl(パール)とは

Perl(パール)とはテキストペースのデータ処理に特化したフリーのプログラム言語である。詳細はWikiPediaのhttps://ja.wikipedia.org/wiki/Perlを参照して欲しい

その中で特筆すべき機能として(WikiPediaより参照)

特徴 ①強力な文字列処理。正規表現をサポート
②日本語をはじめとして世界中の言語を処理可能
③連想配列(ハッシュ)をサポート
④多次元データ構造が利用可能
⑤自由度の高い文法。簡潔にプログラムを記述できる
⑥高い後方互換性を持つ
⑦数多くのオペレーティングシステムで利用可能
⑧プログラムの実行には事前コンパイルは不要
⑨スクリプト言語の中では高い処理速度を持つ
⑩Unicodeのサポート
⑪モジュールによる拡張が可能

個人的に気に入っている機能としては、①・③・⑤・⑧・⑪と言った機能を使うことで、大抵のテキスト処理が出来るので非常に重宝しています。

Perlで何が出来るか

じゃあPerlを使うと何が出来るのでしょうか?簡単に言うと「テキストで書いてある文字や数字をある条件で抽出したり、変換したり、計算したりして、好きな形式に出力出来る」という機能です。絵に表すとこんな感じになります

テキストデータに「リンゴ 10個 1000円」というデータがあったときに、このデータを「林檎 十玉 壱千円」と言うように変換する時にどの様に処理しますか?
数が少なければテキストエディタ等の置換機能を使えば簡単ですが、行数が一億行とか膨大なデータであったり、りんごだけでは無く、もっと種類が増えたりしたらどうしますか?こういう場合にPerlを使用するととても簡単に処理できます

もっと具体的な内容として、「緯度・経度・WiFi電界強度」というデータがあるとします。この緯度・経度データをメッシュコートに変換して同一メッシュコードに存在するWiFi電界強度は中央値を利用して地図に表示しろ」という課題を解決するためにPerlが非常に役に立ちます。