Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re^4: Packaging my own Perl Module

by erroneousBollock (Curate)
on Nov 19, 2007 at 00:00 UTC ( #651553=note: print w/replies, xml ) Need Help??

in reply to Re^3: Packaging my own Perl Module
in thread Packaging my own Perl Module

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? ;-)

Have a look at the PAR Loaders section in the Perl Archive Toolkit tutorial. Specifically:

The PAR loader can prepend itself to a PAR file
So 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.
There are plenty of options.


Log In?

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (1)
As of 2021-10-23 02:48 GMT
Find Nodes?
    Voting Booth?
    My first memorable Perl project was:

    Results (86 votes). Check out past polls.