Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: (OT) cross-platform $HOME

by eyepopslikeamosquito (Bishop)
on Feb 23, 2004 at 06:58 UTC ( #331046=note: print w/replies, xml ) Need Help??

in reply to (OT) cross-platform $HOME

I don't think using the $HOME environment variable is a no-brainer on Unix at all -- though it may be fine for simple applications without high security requirements. Remember, $HOME is just an environment variable, and the user may set it to whatever he/she wants. Worse, it may be incorrectly set when running a script in unusual environments -- via su, for example, I've sometimes seen $HOME incorrectly set to root's home directory. Finally, some systems may use $LOGDIR instead of $HOME (admittedly, this is very rare).

Also, '~/.myapp' is shell-specific which is not very portable, failing on many versions of /bin/sh, for instance.

If the whole application is written Perl, I'd look at using the getpwuid/getpwnam functions on Unix. The Perl $< and $> special variables and the getlogin function may also prove handy.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://331046]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (8)
As of 2021-03-03 18:38 GMT
Find Nodes?
    Voting Booth?
    My favorite kind of desktop background is:

    Results (87 votes). Check out past polls.