Hi - > -----Original Message----- > From: Duarte Cordeiro [mailto:[EMAIL PROTECTED]] > Sent: Sunday, February 02, 2003 8:58 PM > To: [EMAIL PROTECTED] > Subject: distributing perl applications > > > Hi, > > after spending a couple of months on a perl project, I'm going > to install the application on costumer's server. The question being: > - Is there any way I can "join" all the modules in one big file? > It has nothing to do with do not wanting them to see the source > code, its just for easy of install/use. > Is there anything around like "use package", that tries to read > the package from a sort of big lib file instead of browsing to > the perllib directories ? > > Thanks in advance, > > Duarte > > -- > Duarte Manuel Cordeiro > Manager - IT Infraestructure - Security & Communications > mailto:[EMAIL PROTECTED] | msn: > [EMAIL PROTECTED] | http://www.neoris.com/ > --
I've done the following in similar circumstances - it's not really making one big file, but it bundles things up a bit. 1. Make a 'dummy' module using h2xs: h2xs -A -X -n Bundle::MyProject Pick any name that makes sense. 2. Edit the .pm file (in my example: MyProject.pm). Add a 'use' statement for each package in your bundle. Edit the documentation to explain what's bundled. Also edit the Author name in Makefile.PL. 3. Edit the Manifest file. Add the lines from each of the bundled packages (be sure to specify the directory of each pakage in each line). It will help if all your packages are in the same directory tree. 4. Make and install your bundle with the normal 'perl Makefile.PL', make, make test, make install (or 'nmake' or 'dmake' whatever). 5. Remove the 'uses' for the bundled packages and replace your bundle 'use' (use Bundle::MyProject;). 6. Test. 7. If ok, do a 'make tardist' in your bundle. This one tar ball should include everthing (if your Manifest is correct). 8. As a final test, install from the tar ball and test again. Well... it seems like a lot of work, but it's easy to install. Good luck - let us know if your have problems. Aloha => Beau; -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]