Config::Pitモジュールは、プログラムにパスワードなどのハードコードを避けるためのモジュールです。
例えば、ニコニコ動画のダウンローダを作るときは、ログインする処理を書く必要があります。その時に、下記のようにパスワードをプログラムに書いてしまう場合があります。
use strict; use LWP::UserAgent; # プログラムをみれば、パスワードばればれ my $mail = 'yourmailaddress'; my $password = 'yourpassword'; my $ua = LWP::UserAgent->new; $ua->post('http://www.test.jp/login', [ mail => $mail, password => $password ]);
これを避けるために、Config::Pitモジュールを使用します。
やっていることは単純で、usernameとpasswordをプログラムに直接書くのではなくて、
YAML形式の設定ファイルを作成して、それをプログラムから読み込むようにするものです。
まず、下記のワンライナーで、ログイン情報を登録します。
perl -MConfig::Pit -e'Config::Pit::set("www.test.jp", data=>{ username=>"yourmailaddress", password=>"yourpassword" })'
これで、「~/.pit」にYAML形式の設定ファイルが作成されます。
これを読み込むプログラムは下記のようになります。
use strict; use warnings; use Config::Pit; my ($username, $password) = do { @{ Config::Pit::get( 'www.test.jp', require => { 'username' => 'yourmailaddress', })}{ qw/username password/ }; }; my $ua = LWP::UserAgent->new; $ua->post('http://www.test.jp/login', [ mail => $mail, password => $password ]);
こんな感じで、プログラムに直接パスワードを書く必要がなくなります。