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からアプリケーションの設定ファイルまで非常に広く使われている.拡張性が高い.

  • 欠点

データサイズが冗長になる.

学んだ知識を生かす - @IT自分戦略研究所

CSV

データをカンマ(",")で区切って並べたファイル形式。
CSVとは【Comma Separated Values】(カンマ区切り) - 意味/解説/説明/定義 : IT用語辞典
  • 利点

汎用性が高い.テキスト形式で表形式のデータが扱える.Microsoft Office などで読める.

  • 欠点

表現に制約が多い.

CSV 形式 - profaim.jp

更新

(2010-09-03) Storable 追加.