Hi again,
Thanks for all the replys, it much appreciated; I've tried all solutions (except for 'AnomalousMonk' as I work for large corporation, getting extra modules to use requires going to the DMZ which is not feasible - so I'm stuck with the bundle Solaris 10 comes with).
I'm still not getting a unique list of users and this what I think is happening:
When the hash pulls all the unique values ($userid) to each unique key ($group), the value is taken as a block. So for example:
This:
group1:9001:user1,user2,user3,user4,user5,user1,user2,user3,user4,user5,user1,user2,user3,user4,user5
group2:9002:user1,user2,user3,user1,user2,user3,user1,user2,user3
group3:9003:user1,user2,user4,user1,user2,user4,user1,user2,user4
group4:9004:user1,user2,user5,user1,user2,user5,user1,user2,user5
group5:9005:user1,user2,user1,user2,user1,user2
group6:9006:,,,
Is actually this in the hash:
group1:9001:"user1,user2,user3,user4,user5," "user1,user2,user3,user4,user5," "user1,user2,user3,user4,user5"
group2:9002:"user1,user2,user3," "user1,user2,user3," "user1,user2,user3"
group3:9003:"user1,user2," "user4," "user1,user2,user4," "user1,user2," "user4"
group4:9004:"user1,user2," "user5," "user1,user2," "user5," "user1,user2," "user5"
group5:9005:"user1,user2," "user1,user2," "user1,user2"
group6:9006:"," "," ","
So each block of userid's is a unique value.
I'm lost on how to do this (if there is a way).
Hope that makes sense?
Any feedback will be greatly appreciated.
Thanks again.
| [reply] |
As another monk mentioned, most of the reasons people think they can't install from CPAN are in fact non-reasons.
But either way, the uniq function from List::MoreUtils is easy for you to implement yourself:
sub uniq (@) {
my %seen = ();
grep { not $seen{$_}++ } @_;
}
As it happens, I just copied and pasted that code from List/MoreUtils.pm. However, one reason to prefer List::MoreUtils over a home-made version, is that List::MoreUtils provides an XS version which (over large lists) may run a little faster. | [reply] [d/l] [select] |