- 论坛徽章:
- 0
|
半我看看下面一段代码.为什么打印printf "%d\n", $isprint_head;
会答应很多0,不是4个"o",
$TSE_socket_data_collect= "TSE__ntc_socket_data_collect".$time."\.csv";
#printf "%s",$TSE_socket_data_collect;
$customer_summary="customer_summary.txt";
$dut_control_min_qty="dut_control_min_qty.txt";
$tmpfile="tmp.csv";
##############################
#Map data summary information to hash
##############################
open(FN,"<$customer_summary");
while(<FN>)
{
#if(/^\s+$/)
if($_ eq "")
{
next;
}
if(/customer_summary.txt/i)
{
next;
}
chomp;
$dut_yield_summary=$_;
#printf "%s\n",$dut_yield_summary;
# printf "%s",$_;
mapNanyadutdata($bins,$dut_control_min_qty,$dut_yield_summary,\%data_1,\%data_2); # pass in hashes by reference
@parts=split(",",$stations);
#print scalar(@parts);
for($station=0;$station<scalar(@parts);$station++)
{
print "=".$parts[$station];
if($parts[$station] eq "")
{
next;
}
#print "=".$parts[$station];
#printf "%d",$station;
writeNanyaSocketDataToFile($TSE_socket_data_collect,"append",$parts[$station],%data_1,%data_2);# Generate socket data file
# foreach $infor( keys %data_1) # NOTE: NEED TO CAST SUBKEY AS HASH WHEN ITERATING THROUGH SUB HASH KEYS
# {
# delete $data_1{$infor};
#}
#foreach $infor( keys %data_2) # NOTE: NEED TO CAST SUBKEY AS HASH WHEN ITERATING THROUGH SUB HASH KEYS
# {
# delete $data_2{$infor};
#}
}
}
close FN;
sub writeNanyaSocketDataToFile
{
my ($TSE_socket_data_collect,$open_mode,$station)=@_;
# my $TSE_socket_data_collect=$_[0];
# my $tmpfile=$_[1];
#my $open_mode=$_[2];
#my $station=$_[3];
$isprint_head=0;
#printf "%d\n", $isprint_head;
# $tmpfile="tmp.csv";
open(IN,"<$TSE_socket_data_collect");
open( OUT,">>$tmpfile");
while(<IN>)
{
chomp;
if($_ eq "")
{
next;
}
if(/TesterID/i)
{
$isprint_head=1;
next;
}
else
{
@parts=split(",",$_);
$tester=shift(@parts);
#printf "%s\t",$tester;
$data=shift(@parts);
#printf "%s\t",$data;
#printf "%s\n",$data_1{'date'};
#$a=$data eq $data_1{'date'};
#printf "%d",$a;
shift(@parts);
$lot_num=shift(@parts);
shift(@parts);
shift(@parts);
shift(@parts);
$sta= shift(@parts);
if($tester eq $data_1{'tester'}and $data eq $data_1{'date'} and $lot_num eq $data_1{'lot_no'} and $sta eq $station)
{
$_=~s/$_//g;
print OUT $_;
$_=<IN>;
$_=~s/$_//g;
print OUT $_;
$_=<IN>;
$_=~s/$_//g;
print OUT $_;
$_=<IN>;
$_=~s/$_//g;
print OUT $_;
$_=~s/$_//g;
$_=<IN>;
$_=~s/$_//g;
print OUT $_;
$_=<IN>;
$_=~s/$_//g;
print OUT $_;
$_=<IN>;
$_=~s/$_//g;
print OUT $_;
$_=<IN>;
print OUT $_;
$_=<IN>;
$_=~s/$_//g;
print OUT $_;
}
else
{
print OUT $_."\n";
}
}
}
close(IN);
close(OUT);
unlink($TSE_socket_data_collect);
rename($tmpfile,$TSE_socket_data_collect);
} |
|