Hi Evan, sorry for the delay in replying, but the broader the question, the harder to answer it. :)
Quite frankly, I can not provide a full description of how PAR works. That'd be quite a story. First of all, let me say that PAR can be used in many different ways for software deployment. The mode you're interested in is probably the "create-standalone-executable-including-all-perl-dependencies" packaging. For a moderately in-depth overview, consider having a look at the slides of my YAPC::EU talk on PAR: http://steffen-mueller.net/talks/appdeployment Essentially, you do pp -o app.exe app.pl to generate the stand-alone executable. Dependency scanning will be done for you. The generated binary should work on any moderately similar system. When packaging an application of any meaningful size, you will undoubtedly realize that it's not as simple as the above command suggests. The module dependency scanning isn't perfect. Sometimes is misses stuff, usually it packages waaaay too much. However, what it can't do *at all* is find dependencies on Perl-external libraries such as system shared libraries (so's/dll's) or -- as in your case -- R libraries. You can use the -l option to include shared libraries such as libR, or whatever that one's called, but that won't include your R code yet. The contents of the executable will be extracted to a temporary directory on execution. That includes any files added with the -a option to pp. So maybe that's a start for using PAR to package your Perl+R hybrid application. > Will I be able to distribute the software and make it easily > downloadable to anyone who wants to use it? (This is my goal) If a) you manage to get R into the picture and b) you produce a binary for every platform you want to support then I see no reason you shouldn't be able to provide single-file downloads. Note that PAR is not an *installer* generator. The generated executables do not need an installed perl. Hope this helps, Steffen
