Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Prefer Pure Perl Core Modules

by eyepopslikeamosquito (Archbishop)
on Jul 15, 2021 at 00:58 UTC ( [id://11135006]=note: print w/replies, xml ) Need Help??


in reply to Prefer Pure Perl Core Modules

I'm still not 100% clear on just how extreme your position is on this. A concrete example might clarify.

Suppose your boss asked you to write a Perl script to read a large and complex XML stream from an important client and update a number of different relational databases with the extracted information. How would you tackle this task? Would you at least consider installing, say, XML::LibXML and DBI from the CPAN?

See also a couple of old nodes on this topic:

Replies are listed 'Best First'.
Re^2: Prefer Pure Perl Core Modules
by Leitz (Scribe) on Jul 15, 2021 at 18:00 UTC

    Excellent question! Hopefully my answer will be of the same quality.

    The decision requires a lot of data, and a good bit of thought. Is this an existing client with an established base of Perl software and skill? Are we installing our own node to do the work, or will the client install and support on their nodes? Do they have a relatively homogeneous environment or will the code need to run on different operating systems and CPU architectures? Do they have the ability (internet access, compilers) and skill to install from CPAN or do we need to package the dependencies with our application? If we package, how many OS/Arch combinations do we support, and do we have access to those combinations to build and test on? Is this complex enough to require compiling Perl and bundling that as well?

    I would probably do a Proof of Concept on an isolated VM, with compiled Perl and included CPAN modules. When we present to the boss, and the client, we discuss what support is needed, how upgrades are done, and who owns what responsibilities. If the resource consumption for maintenance via CPAN and compiled Perl is higher than the boss or the client want to commit to then alternatives can be discussed. Maybe we provide a VM for upgrades, or we use an older Perl that their OS vendor provides. Or we look at the subset of critical activities and evaluate how difficult they would be to replicate in-house or to contract out for.

    Chronicler: The Domici War (domiciwar.net)

    General Ne'er-do-well (github.com/LeamHall)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11135006]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (3)
As of 2024-04-20 01:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found