open (IN, "testset_2014052314392273headset.dat"宽岁); # 打开文件
@lines = ; 弊巧轿#将文件内容读入到数组。
close IN; #关闭文件
@modLines = (); #初始化数组
%done = (); #初始化哈希表
for (reverse @lines) #先将数组内容倒序,然后循环读入到内置变量$_
{
chomp; #去掉$_内容末尾的换行
if (/^\s*([\d\.]+)\s+([\d\.]+)\s+\"(.*)\"/)#正则匹配
{
$from = $1; # $1是匹配的开头的多个数字或.
$to = $2; # $2是匹配第二次出现的多个数字或.
$utt = $3; # $3是匹配引号中的字符串
if (defined $done{$utt}) #如果$done{$utt}有赋租肆值,则next继续循环, 否则赋值1,这样就可以将文件内容去除重复内容。
{
next;
}
$done{$utt} = 1;
}
push @modLines, $_; # 将$_存放到 @modLines
}
open (OUT, ">modify_testset_2014052314392273headset.dat");# 将修改后的内容写入到">modify_testset_2014052314392273headset.dat"里
for $l (reverse @modLines) { print OUT "$l\n";}close OUT;