如何使用Perl库函数将UID映射到用户名?

Mik*_*ike 4 unix perl

我正在寻找一种使用Perl将uid(代表系统用户的唯一编号)映射到用户名的方法.

请不要建议使用grep/ etc/passwd :)

编辑

作为澄清,我并没有寻找一个明确地阅读/ etc/passwd的解决方案.我意识到,任何解决方案最终都会做到这一点,但我正在寻找一个库函数来为我做这件事.

P S*_*ved 8

标准函数getpwuid,就像相同的C函数一样,根据其ID获取用户信息.不需要use:

my ($name) = getpwuid(1000);
print $name,"\n";
Run Code Online (Sandbox Code Playgroud)

虽然它最终读取/etc/passwd文件,但使用标准接口对于其他用户来说更加清晰,更不用说它可以为您节省一些按键.

  • `getpwuid`不能假设`/ etc/passwd`文件自上次调用以来没有改变,但不太可能. (3认同)