Hi Again, You guys have been so helpful lately, I thought I would ask for some advice on a piece of code I have constructed. My objective is to consolidate all the unique elements of my array. My current elements are:
CHILD: Topology/IPClassA CHILD: Topology/IPClassA/Device CHILD: Topology/IPClassA/Device/log_ratio CHILD: Topology/IPClassA/Device/poll_interval CHILD: Topology/IPClassA/Device = 2 CHILD: Topology/IPClassA/Device = 2/poll_interval CHILD: Topology/IPClassA/Device = 2/is_managed CHILD: Topology/IPClassA/Device = 2/Port CHILD: Topology/IPClassA/Device = 2/Port/ifPhysAddress CHILD: Topology/IPClassA/Device = 2/Port/poll_interval CHILD: Topology/IPClassC CHILD: Topology/IPClassC/Device CHILD: Topology/IPClassC/Device/poll_interval CHILD: Location
Now as you can see the first element (Topology/IPClassA) is part of the second element so I would like to disregard that one, and continue this until I have an array of unique data. My desired result would look like this:
CHILD: Topology/IPClassA/Device/log_ratio CHILD: Topology/IPClassA/Device/poll_interval CHILD: Topology/IPClassA/Device = 2/poll_interval CHILD: Topology/IPClassA/Device = 2/is_managed CHILD: Topology/IPClassA/Device = 2/Port CHILD: Topology/IPClassA/Device = 2/Port/ifPhysAddress CHILD: Topology/IPClassA/Device = 2/Port/poll_interval CHILD: Topology/IPClassC/Device/poll_interval CHILD: Location
Please note that order DOES matter and that the eighth element of the final array Topology/IPClassC/Device/) is the same as the first element.
I have tried such things as removing the child portion of the string and pushing them onto an array with the following code:
push (@foo, $_) unless ($seen{$_}++);
The eighth element doesn't make the array, due to the fact that it matches the second element
Thanks
-TheRev
2002-02-02 Edit by Corion : Added formatting
In reply to Unique Array Entries by The_Rev
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |