I'll quote from the documentation on environment variables. This section needs some cleaning-up...
User-defined environment variables, like PAR_CLEAN, always overrides
the ones set in META.yml. The algorithm for generating
caching/temporary directory is as follows:
- If PAR_GLOBAL_TEMP is specified, use it as the cache directory for
extracted libraries, and do not clean it up after execution.
- If PAR_GLOBAL_TEMP is not set, but PAR_CLEAN is specified, set
PAR_GLOBAL_TEMP to "TEMP/par-USER/temp-PID/", cleaning it after
execution.
- If both are not set, use "TEMP/par-USER/cache-HASH/" as the
PAR_GLOBAL_TEMP, reusing any existing files inside.
Here is a description of the variables the previous paths.
- TEMP is a temporary directory, which can be set via
$ENV{PAR_GLOBAL_TMPDIR}, $ENV{TMPDIR}, $ENV{TEMP} or $ENV{TMP}, in
that order of priority. If none of those are set, C:\TEMP, /tmp
are checked. If neither of them exists, . is used.
- USER is the user name, or SYSTEM if none can be found. On Win32,
this is $Win32::LoginName. On Unix, this is "$ENV{USERNAME}"> or
$ENV{USER}.
- PID is the process ID. Forked children use the parent’s PID.
- HASH is a crypto-hash of the entire par file or executable,
calculated at creation time. This value can be overloaded with
pp"’s --tempdir parameter.
By default, PAR strips POD sections from bundled modules. In case that
causes trouble, you can turn this off by setting the environment
variable "PAR_VERBATIM" to 1.