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.