Beefy Boxes and Bandwidth Generously Provided by pair Networks DiBona
go ahead... be a heretic
 
PerlMonks  

Re^2: Get just the unique value

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


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

It still doesnt work, I am still getting duplicated "type":

$VAR1 = [ { 'reference' => '100 ', 'name' => 'Discount', 'type' => 'Paper' }, { 'reference' => '30 ', 'name' => 'Slice', 'type' => 'Cotton' }, { 'reference' => '340 ', 'name' => 'Money', 'type' => 'Plastic' }, { 'reference' => '100 ', 'name' => 'Documents', 'type' => 'Paper' }, { 'reference' => '45 ', 'name' => 'Part', 'type' => 'Cotton' }, { 'reference' => '40 ', 'name' => 'State', 'type' => 'Cotton' } ];


Comment on Re^2: Get just the unique value
Download Code
Re^3: Get just the unique value
by hdb (Parson) on Apr 05, 2013 at 17:28 UTC

    Well, these are the distinct records from your original array of hashes. You did not specify which value is to be unique. I would think that you should now be able from the answers here and the answers from your post yesterday: Accessing this array ref. to conclude whatever you wanted to achieve.

      I saw that posting here, just got the sample data from it to show my issue, but its not the same problem.
Re^3: Get just the unique value
by CountOrlok (Friar) on Apr 05, 2013 at 17:28 UTC
    It isn't clear what you want for output. You want to remove entries in the original data where type is duplicated, it seems, but how do you want to handle the case where reference or name is different? Which entry in the arrayref do you want to choose?
      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.
        Use the code hdb posted

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

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1027174]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (16)
As of 2014-04-18 19:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (471 votes), past polls