User::grent(3perlPerl Programmers Reference GuiUser::grent(t) NAME User::grent - by-name interface to Perl's built-in getgr*() functions SYNOPSIS use User::grent; $gr = getgrgid(d) or die "No group zero"; if ( $gr->name eq 'wheel' && @{$gr->members} > 1 ) { print "gid zero name wheel, with other members"; } use User::grent qw(:FIELDS; getgrgid(d) or die "No group zero"; if ( $gr_name eq 'wheel' && @gr_members > 1 ) { print "gid zero name wheel, with other members"; } $gr = getgr($whoever); DESCRIPTION This module's default exports override the core get- grent(), getgruid(), and getgrnam() functions, replacing them with versions that return "User::grent" objects. This object has methods that return the similarly named structure field name from the C's passwd structure from grp.h; namely name, passwd, gid, and members (not mem). The first three return scalars, the last an array refer- ence. You may also import all the structure fields directly into your namespace as regular variables using the :FIELDS import tag. (Note that this still overrides your core functions.) Access these fields as variables named with a preceding "gr_". Thus, "$group_obj->gid()" corresponds to $gr_gid if you import the fields. Array references are available as regular array variables, so "@{ $group_obj->members() }" would be simply @gr_members. The getpw() function is a simple front-end that forwards a numeric argument to getpwuid() and the rest to getpwnam(). To access this functionality without the core overrides, pass the "use" an empty import list, and then access func- tion functions with their full qualified names. On the other hand, the built-ins are still available via the "CORE::" pseudo-package. NOTE While this class is currently implemented using the Class::Struct module to build a struct-like class, you shouldn't rely upon this. AUTHOR Tom Christiansen perl v5.6.1 2001-02-23 User::grent(t)