2009-04-14 10 views
17

私はPHPスクリプトから設定ファイルを読むために持っていたプログラムを持っており、迅速な検索がPerlで設定ファイルを処理する方法の数十があります明らかにした。Perlでどのように設定ファイルを管理していますか?

ブライアンは概要hereを提供します。

既存のファイルはINI風なので、Config :: Simpleは私にとってはうまくいくでしょう。私はどのようなスタイルの人々が定期的に自分のコードで使用するか知ることに興味がありますか?

+3

私は、この質問についてアンビバレンスを持っています。基本的には投票であり、有意義な答えを得ることはできません。しかし、質問文そのものは研究努力を反映しており、優れたリソースを提供しています。質問はその答えよりも役に立ちます:-P –

+0

私はConfig:Abstract :: Iniを使ってみようとしていましたが、この質問はより良いモジュールにつながりました。ありがとうございました! –

答えて

3

質問する必要があります1つの質問聴衆は何ですか?つまり、あなたのターゲットオーディエンス(configファイルのユーザ/修飾子)がPerlコードを変更したり、.INIのようなファイルを変更したりするのをうれしく思いますか?それは確かにあなたの決定をある程度推進するでしょう。

6

1つの解決策は、Config::Anyを使用して、多くのオプションからユーザーに選択させることです。個人的には、私はConfig :: Generalを好む。

+0

Config :: Generalの2番目。 Config :: Simpleは大丈夫ですが、Config :: Generalはまだまだ使いやすく、はるかに多くの機能を提供します。 – jiggy

11

私はかなりYAML設定ファイルを使用しています。私はそれらが非常に読みやすく、簡単に操作できることがわかります。それらは自然にPerlに収まるだけでなく、主な構造は配列とハッシュです。

+2

本格的なYAMLは大規模で、通常は設定ファイルのために大量の過度の過剰です。一般的にYAML :: Tinyは十分です。それは小さくて簡単にバンドルされています。 –

+0

さらに、YAML :: Anyを選択することもできます。利用可能なYAMLモジュールに到達し、この設定に従って選択します:YAML :: XS> YAML :: Syck> YAML> YAML :: Tiny。 – brunov

+0

YAMLは手で編集するのは不愉快です(詰め物を動かすにはインデントレベルを調整する必要があります)、そしてPerlにはやや互換性のないYAMLパーサが多すぎます。これはYAMLが本当に大きすぎるという事実によって助長されています。 – hobbs

2

視聴者が技術的(フォーマットされたデータ構造に使用されている)の場合は、JSONを設定に使用するのが好きです。あなたのプログラムでは、YAMLを使用した場合と同じように動作しますが、私にとっては読みやすい(とにかく多くのJSONを使用しています)。

JSON :: XSを使用している場合は、ファイル内にコメントや後ろのコンマなどを許可する「リラックス」オプションがあります。

関連する問題