11.10 ハッシュレコードをテキストファイルから読み取る/テキストファイルに書き込む
1行に1フィールドを記述するシンプルなファイルフォーマットを使用する。
FieldName : Value
各レコードは空白行で区切る。
- レコードを書き込む
foreach $record (@Array_of_Records) { for $key (sort keys %$record) { print "$key : $record->{$key}\n"; } print "\n"; }
- レコードを読み取る
$/ = ""; # 段落単位で読み取り while (<>) { my @fields = split /^([^:]+):\S*/m; shift @fields; # 先頭のnullフィールドを削除 push(@Array_of_Records, { map /(.*)/, @fields }); }