演習 (3)
複数ファイルをまとめる
二つのファイルの情報をひとつに
# tree_name.txt に記されている樹種略号⇔和名の対応を記憶して
# それを樹木サイズデータといっしょにして output.txt に出力.
($tree_name_file, $dbh_file) = ("tree_name.txt", "dbh.txt");
open NAME, $tree_name_file
or die "ERROR: Can't open $tree_name_file";
%tree_name;
while (<NAME>) { # NAME から読みこむ
chomp; # 行末の改行マークを削除
next if m/^#/; # 行頭が # だったらその行はとばす
($short_name, $name) = split; # 分割
$tree_name{$short_name} = $name;
}
close NAME;
open DBH, $dbh_file
or die "ERROR: Can't open $tree_name_file";
open OUT, "> output.txt";
while (<DBH>) { # DBH から読みこむ
chomp; # 行末の改行マークを削除
next if m/^#/; # 行頭が # だったらその行はとばす
($short_name, $dbh2001, $dbh2002) = split;
printf OUT "%-8s\t", $tree_name{$short_name};
print OUT "$_\n";
}
close DBH;
close OUT;
(関連ファイル)