構成:: YAML ::モダン-ステロイドで.yaml構成ファイルを使用する

今日、.yaml設定ファイルを操作するための新しいモジュールがリリースされました。 いつものように、github Config :: YAML :: Modernで公開されています。少し後で Config :: YAML :: Modern CPAN に追加されます。
このモジュールに興味があるのはなぜですか? 彼はいくつかのクールなトリックを行うことができます、例えば:

適用分野は? オフハンド-チームワークのためのプロジェクト構成!
面白い? カットの下の詳細。

そのため、YAMLは設定ファイルに最も便利なマークアップ形式です。 少なくとも人間が読める形式であり、コメント( jsonの方向への石)を作成できます。 プラットフォームに依存しません( プラットフォーム=使用言語 )。 彼はかっこいい。 YAMLを使用するか、死にます!

説得した? 先に進みます。
一緒に作業するときのプロジェクト構成ビューの最も便利な形式は次のようになります



WTF !! ??
さて、すべてが非常に明確です-main_config別名プロジェクトのメイン構成と、メインシステムの状態からの差分含む開発者の2つのフォルダーがあります
最初のミーティヤは、別の筋肉で何かをしているようです。
2番目のnicは別のpgサーバーを台無しにし、クライアントにメッセージを送信するためにシステムで何かを行います。

Diffはセクシーです! いつでも、環境が一般的な構成とどのように異なるかを理解できます。

この美しさの使い方の例:

use Config::YAML::Modern; my $directory_main = '/etc/main_config/'; # you are set before in bash "export DEVELOP_CONFIG_DIR=/etc/meettya_config/" my $directory_develop = $ENV{'DEVELOP_CONFIG_DIR'}; my $config = Config::YAML::Modern->new( key_conversion => 'ucfirst' ); $config->dir_load($directory_main); if ( defined $directory_develop ){ $config->dir_add( $directory_develop, 'RIGHT_PRECEDENT' ); } my $db_mysql_config = $config->dive(qw/Db Mysql/); 


それだけです! $ db_mysql_configのデータベースパラメータを使用してハッシュを取得するために必要な作業はこれだけです。
上記の例は最も単純で、モジュールにはいくつかのおいしいパンが在庫にありますが、それをドキュメントで不器用にカバーしようとしました。
喜びと健康で使用してください!

PS。 コメント、願い-githubでパッチを送ってください! :)

Source: https://habr.com/ru/post/J122818/


All Articles