.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "User 3pm" .TH User 3pm "2021-01-04" "perl v5.32.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" User \- API for locating user information regardless of OS .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use User; \& \& my $cfg = Config::IniFiles\->new \& ( \& \-file => sprintf("%s/%s", User\->Home, ".ncfg"), \& \-default => \*(AqDefault\*(Aq \& ); \& \& print "Your login is ", User\->Login, "\en"; .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module is allows applications to retrieve per-user characteristics. .SH "METHODS" .IX Header "METHODS" .IP "Home" 4 .IX Item "Home" Returns a location that can be expected to be a users \*(L"Home\*(R" directory on either Windows or Unix. .Sp 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: .Sp .Vb 1 \& sub Home { \& \& return $ENV{HOME} if $ENV{HOME}; \& return $ENV{USERPROFILE} if $ENV{USERPROFILE}; \& return ""; \& \& } .Ve .Sp In other words, if \f(CW$HOME\fR is defined in the user's environment, then that is used. Otherwise \f(CW$USERPROFILE\fR is used. Otherwise "" is returned. .Sp A contribution for Macintosh (or any other number of OS/arch combinations) is greatly solicited. .IP "Login" 4 .IX Item "Login" Returns login id of user on either Unix or \s-1NT\s0 by checking \f(CW\*(C`getlogin\*(C'\fR, \&\f(CW\*(C`getpwuid\*(C'\fR, and various environment variables. .SH "SEE ALSO" .IX Header "SEE ALSO" File::HomeDir seems to be a very well-done update of the same concept as this module. .SH "COPYRIGHT INFO" .IX Header "COPYRIGHT INFO" 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. .PP License: \s-1GPL,\s0 Artistic, available in the Debian Linux Distribution at /usr/share/common\-licenses/{\s-1GPL\s0,Artistic} .SH "AUTHOR" .IX Header "AUTHOR" T.M. Brannon, tbone@cpan.org .PP I am grateful for additions by Rob Napier and Malcom Nooning. .SH "ACKNOWLEDGEMENTS" .IX Header "ACKNOWLEDGEMENTS" I would like to offer profuse thanks to my fellow perl monk at www.perlmonks.org, the_slycer, who told me where \s-1HOME\s0 could be found on Windows machines. .PP 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. .PP \&\fBperl\fR\|(1).