Unix-Mgt
view release on metacpan or search on metacpan
lib/Unix/Mgt.pm view on Meta::CPAN
while (my @fields = getgrent()) {
my (%group);
@group{@Unix::Mgt::Group::field_names} = @fields;
# if there are any members, of the group, see if this user is in it
if (my $member_str = $group{'members'}) {
my (%members);
# parse out members
$member_str = crunch($member_str);
@members{split m|\s+|, $member_str} = ();
# if this user is in the membership
if (exists $members{$user->{'name'}})
{ $groups{$group{'name'}} = 1 }
}
}
# build return value
foreach my $key (keys %groups) {
my $group = Unix::Mgt::Group->get($key);
lib/Unix/Mgt.pm view on Meta::CPAN
# default options
%opts = (object=>1, %opts);
# get users for whom this is a secondary group
$members_str = $group->entry->{'members'};
defined($members_str) or return ();
# loop through members
NAME_LOOP:
foreach my $name (split m|\s+|s, $members_str) {
if (hascontent $name) {
my $user = Unix::Mgt::User->get($name);
$members{$user->{'name'}} = 1;
}
}
# build return array of objects
if ($opts{'object'}) {
foreach my $name (keys %members) {
push @rv, Unix::Mgt::User->get($name);
( run in 0.579 second using v1.01-cache-2.11-cpan-5511b514fd6 )