Just to explain what chargrill does here :
# Create a lookuptable to store found items my %hash = (); # Iterate over the data-array (thats what grep does here), and add the + item to newdata, and set the found item in the lookup table. When th +e new item is in the lookup table, don't add it again. my @newdata = grep { ! $hash{ $_->{operation} . $_->{machine} }++ } @$ +data; # more readable than grep (to my opinion,probably not to all others :) + ), but basically the same: my %hash = (); my @newdata; foreach my $item (@{$data}) { if (! $hash{ $item->{operation} . $item->{machine} } ) { $hash{ $item->{operation} . $item->{machine} } = 1 ; push @newdata, $item; } }
"We all agree on the necessity of compromise. We just can't agree on when it's necessary to compromise." - Larry Wall.

In reply to Re^3: Need help with removing duplicate hash keys from array of hashes by jbrugger
in thread Need help with removing duplicate hash keys from array of hashes by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":