>>222
open DB, '<' . $db_txt or die $!;
my %db;
while (<DB>) {
  /^(\d+),(.+)$/ or next;
  $db{$1} = $2;
}
close DB;

open ID, '<' . $id_txt or die $!;
open TMP, '>' . $tmp_txt or die $!;
while (<ID>) {
  /^(\d+)$/ or next;
  print TMP $db{$1}, "\n";
}
close TMP;
close ID;
rename $tmp_txt => $id_txt or die $!;

この処理を頻繁にやるなら db.txt は予め DBM 等に。