The real gid of this process. If you are on a machine that supports membership in multiple groups simultaneously, gives a space separated list of groups you are in. The first number is the one returned by getgid(), and the subsequent ones by getgroups(), one of which may be the same as the first number.
However, a value assigned to
$( must be a single number used to set the real gid. So the value given by
$( should not be assigned back to
$( without being forced numeric, such as by adding zero.
You can change both the real gid and the effective gid at the same time by using POSIX::setgid(). Changes to $( require a check to $! to detect any possible errors after an attempted change.
(Mnemonic: parentheses are used to group things. The real gid is the group you left, if you're running setgid.)