open(FILE, ">$name_data");#ファイルオープン(クリア)
close(FILE);
open(FILE, ">>$name_data");#追加書き込みでファイルオープン
eval{ flock(FILE, 2) };
for($i = $start_code ; $i < $end_code ; ) {
 $cd = sprintf("%04d",$i);
  $url="ヤフーのURL";
  $dt=get($url);
  @data = split(/\n/,$dt);
  $j = 0;
  while($j < @data) {
    if(銘柄名の行になったら){
       $sk = $data[$j];
       $sk =~ s/\<b\>//g;#ごみ取り
       $sk =~ s/\<\/b\>.+//g;#ごみ取り
       $sk = jcode::sjis($sk);
       $sk =~ s/\(株\)//g;#ごみ取り
       print FILE jcode::sjis("$cd\,$sk\n");#書き込み
       $j = 100000#終わりなので抜ける
    }
    ++$j;
  }
  ++$i;
  if(substr($cd,1,3) eq "000"){
    close(FILE);
    open(FILE, ">>$name_data");#タイムアウト防止で1000毎に書き込み
      eval{ flock(FILE, 2) };
   }
 }
 close(FILE);

こんなです。よろしくおねがいします