User - API for locating user information regardless of OS |
User - API for locating user information regardless of OS
use User;
my $cfg = Config::IniFiles->new ( -file => sprintf("%s/%s", User->Home, ".ncfg"), -default => 'Default' );
print "Your login is ", User->Login, "\n";
This module is allows applications to retrieve per-user characteristics.
While one way of writing this would be to check for operating system and then check the expected location for an operation system of that type, I chose to do the following:
sub Home {
return $ENV{HOME} if $ENV{HOME}; return $ENV{USERPROFILE} if $ENV{USERPROFILE}; return "";
}
In other words, if $HOME is defined in the user's environment, then that is used. Otherwise $USERPROFILE is used. Otherwise ``'' is returned.
A contribution for Macintosh (or any other number of OS/arch combinations) is greatly solicited.
getlogin
,
getpwuid
, and various environment variables.
the File::HomeDir manpage seems to be a very well-done update of the same concept as this module.
Copyright: Copyright (c) 2002-2010 Terrence Brannon. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
License: GPL, Artistic, available in the Debian Linux Distribution at /usr/share/common-licenses/{GPL,Artistic}
T.M. Brannon, tbone@cpan.org
I am grateful for additions by Rob Napier and Malcom Nooning.
I would like to offer profuse thanks to my fellow perl monk at www.perlmonks.org, the_slycer, who told me where HOME could be found on Windows machines.
I would also like to thank Bob Armstrong for providing me with the text of the copyright notice and for including this in the Debian Linux distribution.
perl(1).
User - API for locating user information regardless of OS |