http://www.perlmonks.org?node_id=305170


in reply to Re: Unique Array Items
in thread Unique Array Items

In this code:

my %h; my @toBeMoved = sort {$a <=> $b} grep {++$h{$_} == 1} @toBeMoved;

the value associated with each element is incremented (not set to 1, that's important). So the grep block will only return a true value the first time a value is seen. E.g., the first time 133 is seen, ++$h{133} == 1 will be true. The second time 133 is seen, the block will return a false value, since $h{133} will now be 2, not 1. The block will only return a true value once for each unique value. Does that clear things up at all?

-- Mike

--
XML::Simpler does not require XML::Parser or a SAX parser. It does require File::Slurp.
-- grantm, perldoc XML::Simpler

Replies are listed 'Best First'.
Re: Re: Re: Unique Array Items
by Art_XIV (Hermit) on Nov 06, 2003 at 22:05 UTC

    That does clear it up! Thank you very much thelenm! :)

    Hanlon's Razor - "Never attribute to malice that which can be adequately explained by stupidity"