「Perlによるテキストデータの処理方法について」の版間の差分

提供: dococo wiki
ナビゲーションに移動 検索に移動
imported>Webmaster
imported>Webmaster
19行目: 19行目:
 
個人的に気に入っている機能としては、①・③・⑤・⑧・⑪と言った機能を使うことで、大抵のテキスト処理が出来るので非常に重宝しています。
 
個人的に気に入っている機能としては、①・③・⑤・⑧・⑪と言った機能を使うことで、大抵のテキスト処理が出来るので非常に重宝しています。
 
== Perlで何が出来るか ==
 
== Perlで何が出来るか ==
じゃあPerlを使うと何が出来るのでしょうか?簡単に言うと「テキストで書いてある文字や数字をある条件で抽出したり、変換したり、計算したりして、好きな形式に出力出来る」という機能です<br/>
+
じゃあPerlを使うと何が出来るのでしょうか?簡単に言うと「テキストで書いてある文字や数字をある条件で抽出したり、変換したり、計算したりして、好きな形式に出力出来る」という機能です。絵に表すとこんな感じになります<br/>
絵に表すとこんな感じになります<br/>
+
<gallery caption="Perlの動作概要"  mode="packed" widths="300px" heights="300px" perrow="1">
<gallery caption="Mediawikiにアフェリエイトを挿入した例"  mode="packed" widths="400px" heights="400px" perrow="1">
 
 
File:2015-12-19 8-44-07.png|Perlの動作を模式的に説明した図
 
File:2015-12-19 8-44-07.png|Perlの動作を模式的に説明した図
 
</gallery>
 
</gallery>
 +
テキストデータに「リンゴ 10個 1000円」というデータがあったときに、このデータを「林檎 十玉 壱千円」と言うように変換する時にどの様に処理しますか?<br/>
 +
数が少なければテキストエディタ等の置換機能を使えば簡単ですが、行数が一億行とか膨大なデータであったり、'''りんご'''だけでは無く、もっと種類が増えたりしたらどうしますか?こういう場合にPerlを使用するととても簡単に処理できます<br/>
 +
 +
もっと具体的な内容として、「緯度・経度・WiFi電界強度」というデータがあるとします。この緯度・経度データをメッシュコートに変換して同一メッシュコードに存在するWiFi電界強度は中央値を利用して地図に表示しろ」という課題を解決するためにPerlが非常に役に立ちます。
 +
 +
 
----
 
----
 
<!-- カテゴリに追加するページ名を記入 -->
 
<!-- カテゴリに追加するページ名を記入 -->
 
[[Category:備忘録|Perlによるテキストデータの処理方法]]
 
[[Category:備忘録|Perlによるテキストデータの処理方法]]

2015年12月19日 (土) 09:17時点における版

Perl(パール)とは

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

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

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

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

Perlで何が出来るか

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

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

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