in reply to Versioned modules
I did a bit of cleanup. I did not follow tye's suggestion because from both my reading of p5p and from my own tests, using "/" as a directory separator works portably. It might not look pretty, but it works.
The biggest improvement is that you automatically are going to inherit correctly. My new test script is:
and the versioned modules look like:#! /usr/bin/perl # See comments in Versioning about warnings use strict; require versioned_module; tst(0); tst(1); tst(0); tst(1); sub tst { $ENV{IS_PROD} = shift; import versioned_module("report_version"); report_version("Procedural"); report_version versioned_module("OO"); }
use vars qw(@EXPORT_OK); @EXPORT_OK = qw(report_version); sub report_version { my $arg = pop(); my $ver = __PACKAGE__; print "Got version $ver through $arg interface\n"; }
In Section
Code Catacombs