Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以可移植的方式获取Perl中的当前用户?_Perl_Portability - Fatal编程技术网

如何以可移植的方式获取Perl中的当前用户?

如何以可移植的方式获取Perl中的当前用户?,perl,portability,Perl,Portability,如何以可移植的方式获取当前用户 这似乎是一个常见问题,但并没有提到它,也许是因为一些奇怪的系统没有“用户”的概念?但是,让我们继续使用*nix和Windows getpwuid($>)未在Windows上实现 $ENV{USER}| |$ENV{USERNAME}似乎很挑剔 没怎么露面。: 这实现了同名的C库函数,在大多数系统上,它从/etc/utmp(如果有)返回当前登录名。如果为null,则使用“getpwuid” $login=getlogin | | getpwuid($可在Window

如何以可移植的方式获取当前用户

这似乎是一个常见问题,但并没有提到它,也许是因为一些奇怪的系统没有“用户”的概念?但是,让我们继续使用*nix和Windows

getpwuid($>)
未在Windows上实现

$ENV{USER}| |$ENV{USERNAME}
似乎很挑剔

没怎么露面。

:

这实现了同名的C库函数,在大多数系统上,它从/etc/utmp(如果有)返回当前登录名。如果为null,则使用“getpwuid”

$login=getlogin | | getpwuid($可在Windows上用于检索用户名(没有域名,因此可能不明确):


实现getpwuid()和其他功能以查询用户数据库。不幸的是,它未能安装在我的StrawberryPerl 5.12上。

这是CGI脚本还是Scription(脚本应用程序)如果您已经用SU切换了用户,GETLogin将返回原始用户,这对我来说是一个令人不快的惊喜,只使用Posiple系统的GETPUID和Win32::Windows的LoginNe.@ YTS:很好知道。我希望这是DOCS所暗示的“不要考虑……进行身份验证”。
$login = getlogin || getpwuid($<) || "Kilroy";
use Win32;
my $username = Win32::LoginName;