Now what i was thinking is to package those modules somehow so my script could be run in conjunction with those modules. Now one solution i initially thought was to get all the PM files, zip them together and then just copy them in the Perl folder on each machine, using a trivial script. The problem i am seeing is that there could be loads of files that would need to be copied so i am not sure how feasible and efficient this solution would be.As you imply, this doesn't work well for modules that use binary shared libraries.
I am not sure if i should generate a PAR file or an EXE. With an EXE i think it unzips all the files into a TEMP folder and then deletes them when the EXE stops.That is basically correct. I'm not sure if it must clean up the unpacked files... they're unpacked to some tmp directory generally writable by the user on the given OS.
The other solution is to provide each end user with the output.par file and the script i want to run. I am not sure how the PAR file mechanism works like does it unzip the files somewhere local or something?It works identically as when pp is used to create an executable.
But the problem with this i have found is that the end user will still need to install the PAR and PAR:Dist packages in order to actually read a PAR file.Ah, if that were the case then PAR would be pretty useless, no? ;-)
The PAR loader can prepend itself to a PAR fileSo either:
- the user just needs perl installed (by prepending the par loader to the archive), or
- the user runs the executable you provide (no perl needed), or
- the user has PAR installed and loads the PAR archive directly.