Its now been roughly two to three months since the Perl 5 Enterprise Project was announced and following its reference in a node recently, I decided to check on the development to date - For those unaware of the goals of the P5EE project, they are described in depth at the project homepage. To do this, I checked out the latest CVS copy of the P5EE source tree and had a read through the core package modules developed to late.

I must say however, that I was quite put off early into this process, when I found the following in the core P5EEx::Blue::P5EE module:

# eliminate warnings about uninitialized values $SIG{__WARN__} = sub { warn @_ unless $_[0] =~ /Use of uninitialized v +alue/};

This line, trapping the __WARN__ signal and preventing the output of warnings where undefined variables are being used, seems in direct contrast the the concept of developing proven and complete code for the enterprise environment. Furthermore, the use of this code is mentioned in the P5EE perlstyle.pod, but gives no explanation for its use. eg.

Warnings and Strict All code must compile and run cleanly with "use strict" enabled and the perl "-w" (warnings) option on. If you must do something that -w or strict complains about, there are workarounds, but the chances that you really need to do it that way are remote. The one exception is the "Use of uninitialized variable" warnings. We have those disabled in P5EE.pm, so by including "use P5EE" you are disabling that warning in your code, too, and you don't need to worry about them.

To my mind such errors represent poor initiation of code variables or failed trapping of return values from functions - Aspects of coding which should not be ignored, especially within a production environment.

Further to this, many of the modules in place within the P5EEx development tree are only placeholders at this stage, outlining what it is hoped that they will eventually perform, but with little in the way of firm code.

Please don't misinterpret this review as an attack on the P5EE project - I think this is an excellent direction for development and have subscribed to the mailing list to get up to date with the development. However at this point in time, this project is still quite embryonic and there are style and development issues which still need to be addressed. Perhaps, it can be said that the ulterior purpose behind this node, besides that stated to comment on P5EE progress, is to encourage other monks to contribute on this project - There is much which needs to be done and much that we can do to contribute.

http://p5ee.perl.org

 

perl -e 's&&rob@cowsnet.com.au&&&split/[@.]/&&s&.com.&_&&&print'


In reply to P5EE ... get involved! by rob_au

Title:
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, details, 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, summary, 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.