Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: Module development: concurrent versions (Updated)

by pajout (Curate)
on Dec 27, 2010 at 10:07 UTC ( #879273=note: print w/replies, xml ) Need Help??

in reply to Module development: concurrent versions (Updated)

I suffered for it, but after some unsatisfying experiments I accepted following philosophy, assuming both versions of the module exists in some concurrent version system:

If it is not absolutely necessary to use both versions in the same process, just put proper versions to special paths, dedicated for this purpose. Then you can have two or more paths for two or more versions and you can run one process for every version and compare their behavior, having remaining parts of the program identical.

If it is absolutely necessary, rename versions ( for testing purposes. Though it is ugly work, it consumes less time than fiddling Perl guts, and it does not make chance that fiddled solution will work differently from renamed solution.

  • Comment on Re: Module development: concurrent versions (Updated)

Replies are listed 'Best First'.
Re^2: Module development: concurrent versions (Updated)
by BrowserUk (Pope) on Dec 27, 2010 at 11:58 UTC
    If it is absolutely necessary, rename versions ( for testing purposes. Though it is ugly work,

    Yeah. That's what I did. But as you say, it is ugly.

    Simple things like the bootstrap entry point having a specific rather than generic name is what causes the problems. And it is unnecessary as there would be no conflict in calling a XS_bootstrap entrypoint in many .dll/.so's.

    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://879273]
[atcroft]: .oO(Then there is the effect if a site changes their timezone, such as when the International Date Line was moved by the purchase of Alaska by the US from Russia in 1867, or several places (I cannot recall off-hand) that moved from one side of the Date
[atcroft]: Line to the other recently....)
[atcroft]: .oO(Then again, you also have to be careful if you had it to the database, and be aware of any assumptions it makes (such as SQLite assuming Gregorian calendar and a day of exactly 86400 seconds)...)

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2017-04-29 04:49 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (531 votes). Check out past polls.