演習 (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;

(関連ファイル)


[prev] [index]