my $groupid = "some_group_name";my %group_members;open(IN, "</etc/group") || die " '/etc/group' ($!)";while(<IN>){ chomp; next if !/^$groupid:/; my @line = split(/:/, $_); # should be 4 fields foreach(split(/,/, $line[3]){ $group_members{$_}++; } last; # once we've processed a matcing entry jump out of the loop}close(IN);
my $role = "$iwhome/conf/roles/editor.uid";my @role_members;open(IN, "<$role") || die " '$role' ($!)";while(<IN>){ chomp; next if /^\s*$/; # ignore blank lines push(@role_members($_) if ($group_members{$_} > 0);}close(IN);