两个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]