Perl 有几个内置函数用于访问 Unix 系统(以及其他支持时)上的 /etc/passwd 以获取用户和组信息。例如,
my $name = getpwuid($uid);
将返回给定用户 ID 的用户名,如果没有这样的用户,则返回 undef。
如果 Perl 脚本需要可移植并在 Unices 和 Windows 上运行,应该如何访问用户和组信息?ActivePerl 似乎支持 User::grent 和 User::pwent 模块,它们提供对 /etc/passwd 的按字段访问——即使在 Windows 中也是如此。奇怪的是,它们不支持内置函数 getpw* 和 getgr*。还有哪些其他选择?