私は、bash スクリプトと Perl スクリプトの両方で構成されたシステムを使用しています。
Perl スクリプトとシェル スクリプトの両方で使用される構成値を指定する安全な方法はありますか?
単純な MY_VAR=toto 宣言と Perl 固有の構成値 (ハッシュなど) である共通要素があるため、両方が必要です。
ところで、強化された Perl ビルドで利用できる Env モジュールはありません。
私は、bash スクリプトと Perl スクリプトの両方で構成されたシステムを使用しています。
Perl スクリプトとシェル スクリプトの両方で使用される構成値を指定する安全な方法はありますか?
単純な MY_VAR=toto 宣言と Perl 固有の構成値 (ハッシュなど) である共通要素があるため、両方が必要です。
ところで、強化された Perl ビルドで利用できる Env モジュールはありません。
Env
環境変数にアクセスできる必要はありません。Env
ドキュメントからの次の抜粋は、これを明確にします。
Perl は、環境変数を という名前の特別なハッシュで維持します
%ENV
。このアクセス方法が不便な場合、Perl モジュールでEnv
は、環境変数をスカラー変数または配列変数として扱うことができます。
%ENV
Perl での "config" ハッシュの作成が非常に簡単になります。%ENV
次の例では、それ自体に固執する方がおそらく明確です。
my %config;
my @env_vars = qw/ foo bar baz quux /;
@config{@env_vars} = @ENV{@env_vars};
構成ファイルを読み書きする Perl スクリプトを作成してみませんか。このコードを作成して、Perl モジュールとコマンドラインからのスクリプトとして同時に機能させることができます。次に、このコードを Perl スクリプト内とシェル スクリプト内で呼び出して、これらの値を取得および設定できます。
YAML をフォーマットとして使用できます。CPAN にはそれをサポートするモジュールがいくつかあります。ただし、完全に制御でき、後で変更しても get&set スクリプトにのみ影響するため、好きなものを選択できます。