YAMLで困ること
タブ使用禁止でスペースのみは慣れる(未だに嫌だが)
こういう時に困る。
my $ftp = Net::FTP->new( '192.168.0.1', Debug => 1, Passive => 1 );
のパラメータ部分をYAMLにすると
Net::FTP:
- 192.168.0.1
- Debug
- 1
- Passive
- 1
となって読み辛いし、説明し辛い。コメント(#)必須。
※ , と => は同義語。
ex) http://search.cpan.org/~nwclark/perl-5.8.8/pod/perlop.pod#Comma_Operator___
Net::FTPはモジュール内で '192.168.0.1' をshiftして、残りの配列をそのままハッシュに代入している。
YAMLを直感的に書き辛い時はYAML::Syckで確認。
use YAML::Syck;
use Data::Dumper;
my $ref = {
net_ftp_opt => [
'192.168.0.1',
Debug => 0,
Passive => 1
],
};
my $yaml = YAML::Syck::Dump($ref);
print $yaml, "\n";
my $perl = YAML::Syck::Load($yaml);
print Dumper($perl), "\n";
こういうのが出てくると泣ける(Net::FTP::Commonとか)
config:
-
LocalFile: test.dat
Pass: password
User: id
- Debug
- 1
- Timeout
- 120