in reply to Re: Re: Removing duplicate hashes based on only one key
in thread Removing duplicate hashes based on only one key

grep walks through every element of the array, setting $_. He's also created a hash. As $_ points to the appropriate hash in the array, he grabs the value of the 'bob' field, and uses it as a key in the temporary hash. The negation and postincrement magic just make the expression within grep return a true value if this is the first occurrence of the key, and false if the key has reoccurred.

Since grep returns a list of only those values for which its expression is true, it weeds out all of the duplicate elements.

Once you understand how some of the more arcane operations (grep, map, sort) work on lists and how to manipulate list items within their expressions, you'll grok these tricks really easily.

  • Comment on Re: Re: Re: Removing duplicate hashes based on only one key