Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re^4: Get just the unique value

by Anonymous Monk
on Apr 05, 2013 at 17:45 UTC ( #1027181=note: print w/replies, xml ) Need Help??

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;

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1027181]
and cookies bake in the oven...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2018-06-21 19:13 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (118 votes). Check out past polls.