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.
In reply to Re: (OT) cross-platform $HOME
by eyepopslikeamosquito
in thread (OT) cross-platform $HOME
by thraxil
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |