perl 如何对文件内容进行添加

2025-05-06 11:50:19
推荐回答(2个)
回答1:

"我现在有一堆数据" 是怎样的一堆, 内容是怎样的格式, 是一个档还是多个档, 多个档的话档案都怎样名命

回答2:

  比如:
  my $content;
  my $file = $curdir."/score.txt";
  my $score_type = "CHINESE";
  my $score = 99;
  if(!-e $file)
  {
  open(FILE_TABLE,">>$file") or die "cannot open $file\n";
  syswrite(FILE_TABLE,"#MATHS\r\n");
  syswrite(FILE_TABLE,"#CHINESE\r\n");
  syswrite(FILE_TABLE,"#ENGLISH\r\n");
  close(FILE_TABLE);
  }
  
  open(FILE_R,"<$file") or die "cannot open $file\n";
  open(FILE_W,"+<$file") or die "cannot open $file\n";
  while()
  {
  chomp $_;
  if($score_type eq "MATHS")
  {
  if(/^#MATHS\s*/)
  {
  $content .= $_."#".$score."\n";
  }
  else
  {
  $content .= $_."\n";
  }
  }
  elsif($score_type eq "CHINESE")
  {
  
  if(/^#CHINESE\s*/)
  {
  $content .= $_."#".$score."\n";
  }
  else
  {
  $content .= $_."\n";
  }
  }
  elsif($score_type eq "ENGLISH")
  {
  if(/^#ENGLISH\s*/)
  {
  $content .= $_."#".$score."\n";
  }
  else
  {
  $content .= $_."\n";
  }
  }
  
  }
  print FILE_W $content;
  truncate(FILE_W, tell(FILE_W));
  close(FILE_R);
  close(FILE_W);