Mojolicious::Plugin::Configでファイルをどう読み込んでいるか調べてみた
Testでファイルをアプリケーションと分離して自前で読み込みたかったので調べてみた。下のようにperl6:Slurpとか使わずに関数を定義しているみたい。
sub slurp {
my $path = shift;
croak qq{Can't open file "$path": $!} unless open my $file, '<', $path;
my $content = '';
while ($file->sysread(my $buffer, 131072, 0)) { $content .= $buffer }
return $content;
}
}
これをコピーしてevalすれば良し。
my $config = eval slurp("$Bin/../etc/knowhow3.conf");
sub slurp {
my $path = shift;
open my $file, '<', $path;
my $content = '';
while ($file->sysread(my $buffer, 131072, 0)) { $content .= $buffer }
return $content;
}
こんなファイルの読み込み方もあるのかと勉強になった。