2010年8月4日星期三

[PerlChina] 如何删除中文文件中,重复出现的信息,只保留第一次出现信息。

我有如下程序,在处理英文文件的时候,可以把一个
/a/b "blah"
=/c/cc "blah"
/a/b "blah"
=/c1/cc3 "blah"
/a/c "blah"
=/c2/cc "blah"
=/ccc/cd ""blah
/a/c
=/d/dd "blah"
=/ds/dd "blah"
=/df/x "blah"

变成
/a/b "blah"
=/c/cc "blah"
=/c1/cc3 "blah"
/a/c "blah"
=/c2/cc "blah"
=/ccc/cd ""blah
=/d/dd "blah"
=/ds/dd "blah"
=/df/x "blah"

但在处理相同格式的中文文件时,却出现了问题,请教下大家,这个是怎么回事呢 ?如何解决呢?

程序:
my $file = 'blah blah';
my %seen = ();
{
local @ARGV = ($file);
local $^I = '.bac';
while(<>)
{
$seen{$_}++;
next if $seen{$_} > 1;
print;
}
}

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

没有评论: