Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: pp (PAR-Packer) - how to access included data files

by swl (Parson)
on Nov 06, 2022 at 21:35 UTC ( [id://11148014]=note: print w/replies, xml ) Need Help??

in reply to pp (PAR-Packer) - how to access included data files

The post linked to by marto has a good example of checking if running under PAR and then accessing the file accordingly.

More details about the environment variables used by PAR can be seen at

  • Comment on Re: pp (PAR-Packer) - how to access included data files

Replies are listed 'Best First'.
Re^2: pp (PAR-Packer) - how to access included data files
by ibm1620 (Hermit) on Nov 07, 2022 at 00:14 UTC
    I wasn't really clear about the use of PAR_TEMP, given the advice not to use it in .

    I finally figured out that "/", which the doc says is the root under which included files are stored, could be computed at runtime by dirname($ENV{PAR_0}) . "/inc".

      dirname($ENV{PAR_0}) . "/inc".

      Why you want to go low level when you have this? :

      # PAR::read_file() returns a file inside any loaded PARs my $conf = PAR::read_file('data/MyConfig.yaml');

      (from SYNOPSIS)

        I must have overlooked read_file(). Thanks.

        In my case, the easiest approach was to doctor the @ARGV before processing it, as follows:

        if (exists $ENV{PAR_TEMP}){ # running via PAR/pp push @ARGV, "$ENV{PAR_TEMP}/inc/lex.dict"; }

      The docs could be a bit clearer but my reading is that PAR_TEMP should not be assigned to but is fine to read from.

      Your approach will still work, though.

Log In?

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

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (2)
As of 2024-06-13 00:05 GMT
Find Nodes?
    Voting Booth?

    No recent polls found

    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.