読者です 読者をやめる 読者になる 読者になる

argius note

プログラミング関連

開発しています



Slurp(入力を一度に読み込むイディオム)

Perl

http://perldoc.jp/docs/modules/File-Slurp-9999.01/extras/slurp_article.pod
Perlがメインだった頃の私は今以上に何も知らなかったので、こういう資料が今でもためになります。今からみっちり復習するのはちょっとつらいので、ちょっとずつ、何か発見があったときに掘り下げておくことにしようかと思います。<>をリストコンテキストで使うと全部読むのは知ってましたが、$/とかとの関係は分かってませんでした。上記ドキュメントの冒頭のちょっとしたまとめとして、下記のプログラムを書いてみました。

use strict;

my $data;
{
  local( $/ );
  $data = <DATA>;
}
my %conf = $data =~ /([\w_]+) *= *(.+)/gm;
print "trace level: $conf{trace_level}\n";
print "group name : $conf{group_name}\n";

__END__
size = 16
group_name = group1
trace_level = debug