---
name: "OpenBSD::IdCache"
section: "3p"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/OpenBSD::IdCache"
---

# OpenBSD::IdCache(3p)

cache for user and group look-ups

## NAME

OpenBSD::IdCache - cache for user and group look-ups

## SYNOPSIS

```
    use OpenBSD::IdCache;
    my $ucache = OpenBSD::UidCache->new;
    my $uid = $ucache->lookup("espie");
    my $gcache = OpenBSD::GidCache->new;
    my $gid = $gcache->lookup("wheel", 0);
    my $unamecache = OpenBSD::UnameCache->new;
    my $name = $unamecache->lookup($uid);
    my $gnamecache = OpenBSD::GnameCache->new;
    my $grname = $gnamecache->lookup($gid);
```

## DESCRIPTION

`"OpenBSD::IdCache"` provides four classes: `"OpenBSD::UidCache"` for UIDs, `"OpenBSD::GidCache"` for GIDs, `"OpenBSD::UnameCache"` for user names, and `"OpenBSD::GnameCache"` for group names.

`"UidCache::new"` creates a UID cache, which can be used to look up user names by using the `"lookup"` method.  Looking up a numeric user name is a no-op. Non-existing IDs return a default value, which is normally `"undef"` but can be provided as an extra argument to `"lookup"`.

`"GidCache::new"` provides the same service for GIDs.

`"UnameCache::new"` creates a user name cache, which can be used to look up UIDs.

`"GnameCache::new"` provides the same service for group names.
