NAME

User - API for locating user information regardless of OS

SYNOPSIS

use User;

my $cfg = Config::IniFiles->new
      (
        -file    => sprintf("%s/%s", User->Home, ".ncfg"),
        -default => 'Default'
      );

print "Your login is ", User->Login, "\n";

DESCRIPTION

This module is allows applications to retrieve per-user characteristics.

METHODS

Home

Returns a location that can be expected to be a users "Home" directory on either Windows or Unix.

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.

Login

Returns login id of user on either Unix or NT by checking getlogin, getpwuid, and various environment variables.

EXPORT

None by default.

AUTHOR

T.M. Brannon, tbone@cpan.org

Additions by Rob Napier, rnapier@employees.org

ACKNOWLEDGEMENTS

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.

perl(1).