アカウントやパスワード情報をハードコーディングしない方法(use Config::Pit)

スクリプトからWebサービスを利用するときアカウントやパスワード情報をハードコーディングする場合がありますが、コードを公開する際うっかりそのまま公開なんてことにならないよう、Config::Pitを使うと良い。
アカウントやパスワード情報を~/.pit/以下にYAML形式で保存し、スクリプトから読み込みます。

#!/usr/bin/perl

use strict;
use warnings;
use Config::Pit;

my $conf = pit_get("example.com", requires => {
    username => "username on example.com",
    password => "password on example.com",
});
die "pit_get failed." if !%$conf;

my $username = $conf->{username};
my $password = $conf->{password};

print "UserName: $username / Password: $password\n"; # UserName: jitsu102 / Password: password

__END__

アカウントとパスワード情報を~/.pit/以下に保存する。

$ export EDITOR=vi
$ ppit set 'example.com' #環境変数EDITORで指定したエディタが起動するので、YAML形式で設定ファイルを作成する。

ppitで以下のようなファイルを作成する。

    • -

username: 'jitsu102'
password: 'password'

~/.pit/default.yamlに以下のように保存される。

$ cat default.yaml 
--- 
"example.com": 
  "password": 'password'
  "username": 'jitsu102'


Config::Pit - Manage settings - metacpan.org