32.46. User::grent
use User::grent;
$gr = getgrgid(0) or die "No group zero";
if ($gr->name eq "wheel" && @{$gr->members} > 1) {
print "gid zero name wheel, with other members";
}
$gr = getgr($whoever); # Accepts both string or number.
use User::grent ':FIELDS';
getgrgid(0) or die "No group zero";
if ($gr_name eq "wheel" && @gr_members > 1) {
print "gid zero name wheel, with other members";
}
This module's default exports override the core getgrent,
getgruid, and getgrnam functions, replacing them with versions
that return a User::grent object (or undef on failure). This
object has methods that access the like-named structure fields from the
C library's struct group out of grp.h; namely name, passwd,
gid, and members (not mem as in C!). The first three return
scalars, the last an array reference. You may also import the
structure fields into your own namespace as regular variables using the
":FIELDS" import tag, although this still overrides your core
functions. The variables (three scalars and an array) are named with
a preceding "gr_". The getgr function is a simple frontend switch
that forwards any numeric argument to getgrgid and any string argument to
getgrnam.