xyzjr 发表于 2018-9-1 09:21:43

两个perl脚本

LINE: while($line=){  if($line=~qr/$date_pattern/){
  $date_time=$&;
  }
  if($time_flag==1){
  if($date_time eq $time_string){
  $time_flag=0;
  next LINE;
  }
  }
  if($time_flag==0){
  if($line=~qr/type=()/){
  $type=$1;
  }
  if($line=~qr/$pattern/){
  $temp_line=$&;
  $temp_line =~ s/%20/ /g;
  my @array=(split('&',$temp_line));
  my $temp;
  my @sql_field_value_array;
  my $sql_field="(";
  my $sql_value="(";
  my $flage=1;
  my $sql="insert into ";
  foreach $temp(@array){
  @sql_field_value_array=(split('=',$temp));
  if($flage==0){
  $sql_field.=",".$sql_field_value_array;
  $sql_value.=","."'$sql_field_value_array'";
  }else{
  $sql_field.=$sql_field_value_array;
  $sql_value.="'".$sql_field_value_array."'";
  $flage=0;
  }
  }
  $sql_field.=")";
  $sql_value.=")";
  if($type==0||$type==1){
  $sql.="result_target $sql_field values $sql_value";
  $sqr=$dbh->prepare($sql);
  $sqr->execute();
  }
  if($type==2||$type==3){
  $sql.="result $sql_field values $sql_value";
  $sqr=$dbh->prepare($sql);
  $sqr->execute();
  }
  }
  }
  }
  $dbh->commit;
  printf "** %s\n\n", timestr(timediff(new Benchmark, $startime));
  $dbh->disconnect();

页: [1]
查看完整版本: 两个perl脚本