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


in reply to Re^3: Get just the unique value
in thread Get just the unique value

OK, let me try again, I have a data structure like this:
my $data = [ { 'type' => 'Paper' }, { 'type' => 'Paper' }, { 'type' => 'Plastic' }, { 'type' => 'Plastic' }, { 'type' => 'Plastic' }, { 'type' => 'Plastic' }, { 'type' => 'Cotton' }, { 'type' => 'Cotton' }, { 'type' => 'Cotton' }, { 'type' => 'Cotton' }, { 'type' => 'Cotton' }, { 'type' => 'Paper' }, { 'type' => 'Paper' }, { 'type' => 'Paper' }, { 'type' => 'Paper' }, { 'type' => 'Paper' }, ];
I need to process this array and filter out the duplicated ones:
my $res; for my $entry (@$data) { #$entry->{type} = [] unless exists $entry->{type}; push @$res, $res{$entry->{type}}; } print Dumper @$res;
I just cant get it to work.

Replies are listed 'Best First'.
Re^5: Get just the unique value
by CountOrlok (Friar) on Apr 05, 2013 at 18:18 UTC
    Use the code hdb posted

      Yes, I think it should work.

Re^5: Get just the unique value
by hdb (Monsignor) on Apr 05, 2013 at 18:22 UTC

    I think if you feed your new structure to some of the proposals it will work...

      I tested, none of them work unfortunately, I will look also where.
        Maybe if you gave us the desired output...

        How about this?

        my %types; my $res; foreach my $entry (@$data) { push @$res, $entry unless $types{$entry->{"type"}}++; } print Dumper $res;