2009年4月アーカイブ

http://www.rfs.jp/sb/perl/05/grep.html
http://www.din.or.jp/~ohzaki/perl.htm#ArrayUnique
ここら辺を参考に作る。

@bkm_topic= ( "1\t2\t3\t4","1\t2\t5\t4","1\t2\t3\t5" );
のようなデータがあるときに、重複する配列を削除する。
ただし、各配列の4項目目は無視したい。異なっていても重複と見なす。

    {
    my %tmp;
    @bkm_topic = grep(  !$tmp{&aaa($_)}++, @bkm_topic );
    sub aaa{
        my($a,$b,$c,$d)=split(/\t/,$_[0]);
        return "$a\t$b\t$c"
    }
    }

3個目までの項目をチェックして、4項目は異なっていても重複と見なす
すると、このようになる。
@bkm_topic= ( "1\t2\t3\t4","1\t2\t5\t4" );

残る配列は、最初の方なので、あらかじめソートなどをしておく。

 

このアーカイブについて

このページには、2009年4月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2009年3月です。

次のアーカイブは2009年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。