# perldoc > User::grent

---
type: CommandReference
command: User::grent
mode: perldoc
section: 
source: perldoc
---

## Quick Reference

- `use User::grent; $gr = getgrgid(0)` — get group by GID
- `$gr->name` — group name
- `$gr->passwd` — group password
- `$gr->gid` — group ID
- `$gr->members` — array reference of member usernames
- `use User::grent qw(:FIELDS); $gr_name, @gr_members` — import field variables
- `getgr($whoever)` — auto-dispatch numeric to `getgrgid`, else `getgrnam`
- `use User::grent (); User::grent::getgrnam('wheel')` — use without overriding core

## Name

`User::grent` — by-name interface to Perl's built-in `getgr*()` functions

## Synopsis

perl
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";
}

use User::grent qw(:FIELDS);
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);
## Options

- `$gr->name` — returns the group name (scalar)
- `$gr->passwd` — returns the group password (scalar)
- `$gr->gid` — returns the group ID (scalar)
- `$gr->members` — returns an array reference of member usernames
- `:FIELDS` import tag — imports `$gr_name`, `$gr_passwd`, `$gr_gid`, `@gr_members` into caller's namespace
- `getgr($arg)` — front-end: numeric argument calls `getgrgid()`, non-numeric calls `getgrnam()`
- Core functions remain accessible via `CORE::getgrgid()` etc.

## Examples

perl
use User::grent;
my $gr = getgrnam('wheel');
if ($gr) {
    print "GID: ", $gr->gid, "\n";
    print "Members: ", join(', ', @{$gr->members}), "\n";
}

# Using :FIELDS
use User::grent qw(:FIELDS);
getgrnam('wheel') or die "No wheel group";
print "GID: $gr_gid\n";
print "Members: @gr_members\n";
## See Also

- [perlfunc `getgrgid`](https://perldoc.perl.org/functions/getgrgid)
- [perlfunc `getgrnam`](https://perldoc.perl.org/functions/getgrnam)
- [perlfunc `getgrent`](https://perldoc.perl.org/functions/getgrent)
- [Class::Struct](https://metacpan.org/pod/Class::Struct)

## Notes

This class is currently implemented using `Class::Struct`, but you should not rely on this implementation detail.