[Vienna-pm] mehrere versionen eines modules gleichzeitig benutzen
Thomas Klausner
domm at zsi.at
Thu Nov 10 06:42:37 PST 2005
Hi!
On Thu, Nov 10, 2005 at 10:21:13AM +0100, peter pilsl wrote:
> ich hab ein module und das ist mal fertig und geht in die production.
> gut. nebenbei m?chte ich das module am gleichen rechner aber
> weiterentwickeln ohne am tag 10x den productionserver zu schiessen.
> ..
> wie tut man das am besten?
Wie schon angemerkt kannst du die Module einfach in verschiedene
Verzeichnisse spielen und dann auf eine der mannigfaltigen Wege
@INC veraendern.
Ich verwende statt PERLLIB oder -I am liebsten:
use lib ('/tes/tum/geb/ung');
Du kannst das ganze auch in einen Beginn-Block hauen und dann div.
Conditionals einbauen
BEGIN {
if ($hostname == 'dev') {
push(@INC,'/testlibs');
} else {
push(@INC,'/production');
}
}
Mehr zu use lib etc hast du am Perl Workshop versaeumt, aber hier sind
die Slides:
http://domm.zsi.at/talks/2005_braga_using_use/
(die YAPC-Version ist zwar english, aber besser..)
Dann gaebe es da noch das Module 'only';
http://search.cpan.org/dist/only/
Damit geht dann auch solches:
# Only use MyModule if version is between 0.30 and 0.50
# but not 0.36; or if version is >= to 0.55.
use only MyModule => '0.30-0.50 !0.36 0.55-', qw(:all);
Hab ich aber noch nie ausprobiert, und es ist von Ingy. Schaut aber
nicht massiv boese (source filter oder so) aus...
> *zusatzfrage* f?r domm und andere mod_perls : hab ich eine chance, das
> auch unter mod_perl hinzukriegen. vor allem, wenn das am gleichen apache
> lauft? development hab ich meist eh nicht unter mod_perl laufen, aber in
> der endphase dann halt doch.
Unter mod_perl verwende ich in solchen Faellen immer verschiedene
Instanzen von Apache, die auf verschiedenen Ports laufen.
--
#!/usr/bin/perl http://domm.zsi.at
for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/}
More information about the Vienna-pm
mailing list