This has been noted elsewhere in the past.
in reply to EUID cannot be set
Perl5-porters 2003.4.7-13: OS X peculiarities heading and the linked thread started by Dan Kogai (of JCode.pm) and our merlyn jumped in too. Apparently Mac OS X and FreeBSD have the same problem/code.
"... nobody, the traditional Unix low-privileged user, has user id -2 on MacOS X (according to /etc/passwd), but the uid_t C type is actually an unsigned integer. Consequently, getpwnam() says that nobody's UID is 4294967294."
Apache.org: fixing User and Group in "Apache on AIX" doc.
I don't know if overflow is the word to use.. Perlvar does say to check $!. I wonder if this is a subtle hint. Would getgrnam/getpwnam help keep your code cross-platform?