P is for Practical | |
PerlMonks |
Re: Automatic packaging of multiple perl-modules in a major bundleby aquarium (Curate) |
on Nov 12, 2010 at 02:22 UTC ( [id://870974]=note: print w/replies, xml ) | Need Help?? |
a previous company i worked for provided one install/upgrade self-extracting binary for unix (all flavors) and another for windows server. all the custom provided perl modules were cross-platform and deployed during install or upgrade into our main software directory, that is kept separate from perl installation itself. the many perl programs/scripts all followed a standard to push the custom perl module directory onto @INC, before any "use" statements. this minimizes need to muck about with system environment. we never made use of custom modules that are not part of the standard supplied (proprietary build) perl that would require XS/binary code compiled for separate platforms. at some stage a proprietary (but fully scripted) patching system was also developed, to deliver small but important fixes between major upgrades. naturally there's plenty of sanity code there to make sure it does the right thing or it stops..and you have a full trace of all that was done to that point, and an automated prior backup. i'm not entirely certain that absolutely everything was best practice..but these systems generally faired well, and without saying figures, if i sold the system and kept the money for myself, i could live without working for life. all the perl code was structured in certain ways. the code was easy to read/develop/maintain, without any OO or other fancy code that could possibly work differently across platforms. years ago DBI was dropped as a database access layer from perl, as it was emerging that some bits worked differently on different platforms. a proprietary kind of DBI was established that produced same results across the platforms and the compatible DBs. quite different to SQL though. every command that accessed the database, ended up being a set of internal commands that a central API server processed and logged...be it the web interface, a staff interface, or data access through perl scripts. quite clever really....hope this helps provoke some thought regards system structure. the hardest line to type correctly is: stty erase ^H
In Section
Seekers of Perl Wisdom
|
|