Perlで扱えるフォーマットまとめ
Perlで配列やハッシュなどのデータ構造を書き出すフォーマットを調べた.
けど結局はフォーマット全般について調べた.
簡単に利点,欠点,どんな用途に向いているかをまとめる.
随時更新します.
設定ファイルで使うにはYAML,一時ファイルはStorableが良いかと思います.
Data::Dumper
Data::Dumper はある変数のデータ構造を Perl のシンタックスで表現してくれるもので、デバッグ時など普通によく使います。use Data::Dumper; - 今日のCPANモジュール
- 利点
Perlコードそのものなので,容易に復元できる.
- 欠点
変なコードが紛れ込むと危ないかも?
Storable
Storableパッケージは、スカラー(SCALAR)、配列(ARRAY)、ハッシュ(HASH)、オブジェクトのリファレンス(REF)を持ったPerlのデータ構造体を永続化します。 つまり簡単にディスクに格納し、後で取り込むことを可能にします。
Perl 5.8 からコア・モジュール.
- 利点
バイナリなのでパフォーマンスが非常に良い.保存も復元も一行で書ける.
- 欠点
バイナリなので中身が容易に確認できない.互換性は皆無.OS, Perlのバージョンによっても互換性がない.
使い方は以下がわかりやすい.
Storableでデータ保存 - jitsu102の日記
Storable - Perlデータ構造体の永続化
YAML(YAML Ain't Markup Language)
YAML(YAML Ain't Markup Language)とは、人間にとって読みやすいデータ直列化フォーマットである。YAMLは主に記号とインデントで構造を表現し、汎用性ではXMLに劣るもののXMLよりずっと読みやすく、編集、修正、および作成がずっと容易になっている。YAMLとは - はてなキーワード
- 利点
軽量.処理が高速.人間にとって非常に読みやすい.
- 欠点
XMLに比べて汎用性が少し劣る.
JSON(JavaScript Object Notation)
JSON (JavaScript Object Notation)は、軽量のデータ交換フォーマットです。人間にとって読み書きが容易で、マシンにとっても簡単にパースや生成を行なえる形式です。 JavaScriptプログラミング言語 (ECMA-262標準第3版 1999年12月)の一部をベースに作られています。JSON
- 利点
軽量.処理が高速.Ajaxなどで広く使われている.読みやすい.
- 欠点
JavaScript以外ではあまり用いられない?
XML
文書やデータの意味や構造を記述するためのマークアップ言語の一つ。マークアップ言語とは、「タグ」と呼ばれる特定の文字列で地の文に情報の意味や構造、装飾などを埋め込んでいく言語のことXMLとは【Extensible Markup Language】 - 意味/解説/説明/定義 : IT用語辞典
- 利点
汎用性がダントツ.Ajaxからアプリケーションの設定ファイルまで非常に広く使われている.拡張性が高い.
- 欠点
データサイズが冗長になる.
CSV
データをカンマ(",")で区切って並べたファイル形式。CSVとは【Comma Separated Values】(カンマ区切り) - 意味/解説/説明/定義 : IT用語辞典
- 利点
汎用性が高い.テキスト形式で表形式のデータが扱える.Microsoft Office などで読める.
- 欠点
表現に制約が多い.
更新
(2010-09-03) Storable 追加.