Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

A couple of things have come up today at work that've gotten me thinking about the pros (and cons) of using other people's code (in this case, modules) in a production environment.

I work for a Very Large Organisation, and, as such, we have some fairly strict (and I presume fairly standard) rules about what can, and can't, enter our production environment. If something hasn't undergone an extensive testing and parallel run, it can't be implemented. This is, in my mind, sensible - if things break, people get upset, and we all get fired unless it can be quickly fixed.

Now, we're in the early stages of implementing a number of new systems that output their data in XML. I'm looking into the options we have of reading this data, and I'd very much like to use a couple of CPAN modules rather than having to roll my own code to handle the XML. This is (for us) a contravertial subject - we have almost a "no external modules" policy here, and are basically restricted to the "core" Perl modules and DBI.

I can't help but think it's a little bizarre, not to say financially probably a bad idea, to have programmers sit and essentially reinvent the wheel, where implementation of a module and extensive testing could, and probably would, be more efficient use of time.

I guess I have two questions that I'm interested to hear thoughts about ... firstly, how standard is this sort of rule across the industry? I'm in my first (real) coding position, and I guess I'm interested to find out how other shops work with respect to this sort of thing.

Secondly, have people had problems using (mature) CPAN modules to carry out essential tasks within production code? The scripts for the area I work in cannot afford to "lose"/throw out data, and while extensive testing can help to prevent this, it's still very difficult to pick up one missing row in a couple of hundred thousand.

I think I can see the argument from both sides - it's a great safety net (for both the company and colleagues) to have someone local to talk to when things go wrong - but I can also see (from my own PoV) that it's very frustrating to have a pre-written solution, or partial solution, available, but being unable to make use of it.

Any thoughts or comments are welcome.

-- Foxcub
A friend is someone who can see straight through you, yet still enjoy the view. (Anon)

In reply to Production Environments and "Foreign" Code by Tanalis

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others rifling through the Monastery: (5)
    As of 2021-04-22 14:16 GMT
    Find Nodes?
      Voting Booth?

      No recent polls found