+ -
当前位置:首页 → 问答吧 → 请教:一段代码的解释

请教:一段代码的解释

时间:2010-09-19

来源:互联网

找出数组中不重复的元素,以下是代码:
  1. #!/usr/bin/perl -w

  2. use strict;

  3. my @array = ( 'a', 'b', 'c', 'a', 'd', 1, 2, 5, 1, 5 );
  4. my %diff;
  5. my %same;
  6. my @diff = grep(!$diff{$_}++, @array);

  7. print "@diff\n";
复制代码
请问:@diff = grep(!$diff{$_}++, @array);这一句具体执行过程是什么呢?!又起什么作用?想了半天迷迷糊糊的想不明白。

作者: telecomshy   发布时间: 2010-09-19

去掉重复记录

作者: 99超人   发布时间: 2010-09-19

以数组@array中的值为键,以数目为值,如果不重复就加到@diff中

作者: shaneqi   发布时间: 2010-09-19