<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">


<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";
        color:black;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:navy;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:Arial;
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:523984885;
        mso-list-template-ids:412226232;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body bgcolor=white lang=DE link=blue vlink=navy>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>All we are doing at the
moment is finding out what the state of each module is &#8211; that is probably
best done by the more experienced guys for the very reason that the code listed
below doesn&#8217;t actually test anything<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>For the record<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>The first line is a BEGIN
block which get&#8217;s performed before anything else <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>$| = 1;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>Sets up autoflushing
whenever you output something to stderr (i.e. stops it buffering output)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>print &#8220;1..1\n&#8221;;
<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>prints out 1..1 to stdout
which is expected by the test harness and means run 1 test out of a total of 1 <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>Surprisingly END { &#8230;.
} is the converse of a BEGIN block and gets executed after everything else<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>It will print out &#8220;not
ok 1&#8221; is the variable $loaded is not a true value (which it always wil be
because it is set to 1 explicitly &#8211; so the END block will never do
anything<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>Next it prints &#8220;ok
1&#8221; which tells Test::Harness that test 1 worked although iot never
actually runs any tests<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial'>So, basically, this is a stub&#8212;with
no tests defined and just outputs enough to keep Test::Harness quiet<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial'>Cheers<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=black face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial'>Tony </span></font><span lang=EN-GB><o:p></o:p></span></p>

</div>

<div>

<div class=MsoNormal align=center style='margin-left:35.4pt;text-align:center'><font
size=3 color=black face="Times New Roman"><span lang=EN-US style='font-size:
12.0pt;color:windowtext'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal style='margin-left:35.4pt'><b><font size=2 color=black
face=Tahoma><span lang=EN-US style='font-size:10.0pt;font-family:Tahoma;
color:windowtext;font-weight:bold'>From:</span></font></b><font size=2
color=black face=Tahoma><span lang=EN-US style='font-size:10.0pt;font-family:
Tahoma;color:windowtext'>
miltonkeynes-pm-bounces+tony.edwardson=commerzbank.com@pm.org
[mailto:miltonkeynes-pm-bounces+tony.edwardson=commerzbank.com@pm.org] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Gavin Westwood<br>
<b><span style='font-weight:bold'>Sent:</span></b> Thursday, December 20, 2007
2:10 PM<br>
<b><span style='font-weight:bold'>To:</span></b> miltonkeynes-pm@pm.org<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: Coding Together</span></font><font
color=black><span lang=EN-US style='color:windowtext'><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal style='margin-left:35.4pt'><font size=3 color=black
face="Times New Roman"><span style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=3 color=black
face="Times New Roman"><span style='font-size:12.0pt'>On 20/12/2007 10:33,
Edwardson, Tony wrote: <o:p></o:p></span></font></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 color=black
face=Arial><span lang=EN-GB style='font-size:10.0pt;font-family:Arial'>As
discussed the other night, we probably want to check out the 4 modules to see :-<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:71.4pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><font
size=2 color=black face=Symbol><span style='font-size:10.0pt;font-family:Symbol'><span
style='mso-list:Ignore'>&middot;<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><font size=2 face=Arial><span
lang=EN-GB style='font-size:10.0pt;font-family:Arial'>What testing already
exists<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:71.4pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><font
size=2 color=black face=Symbol><span style='font-size:10.0pt;font-family:Symbol'><span
style='mso-list:Ignore'>&middot;<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><font size=2 face=Arial><span
lang=EN-GB style='font-size:10.0pt;font-family:Arial'>What the testing coverage
is like<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:71.4pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><font
size=2 color=black face=Symbol><span style='font-size:10.0pt;font-family:Symbol'><span
style='mso-list:Ignore'>&middot;<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><font size=2 face=Arial><span
lang=EN-GB style='font-size:10.0pt;font-family:Arial'>What needs to be done<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:71.4pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><font
size=2 color=black face=Symbol><span style='font-size:10.0pt;font-family:Symbol'><span
style='mso-list:Ignore'>&middot;<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></font></span></span></font><![endif]><font size=2 face=Arial><span
lang=EN-GB style='font-size:10.0pt;font-family:Arial'>How hard it is likely to
be<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 color=black
face=Arial><span lang=EN-GB style='font-size:10.0pt;font-family:Arial'><u1:p>&nbsp;</u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 color=black
face=Arial><span lang=EN-GB style='font-size:10.0pt;font-family:Arial'>Tom has
volunteered to do this for Log::Dispatch, I&#8217;ll investigate </span></font><font
size=2 face="Courier New"><span lang=EN-US style='font-size:10.0pt;font-family:
"Courier New"'>Apache2::AuthCookieDBI, so can I suggest that Olie looks at
Perl::Metrics::Simple and Peter looks at ExtUtils::MakeMaker.</span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=3 color=black
face="Times New Roman"><span style='font-size:12.0pt'><br>
How about the three of us who are learning?&nbsp; Should we each hook up with one
of yourselves?<br>
<br>
<br>
<o:p></o:p></span></font></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 color=black
face="Courier New"><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>A
quick look at Apache2::AuthCookieDBI reveals a very complicated test suite as
follows :-<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 color=black
face="Courier New"><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'><u1:p>&nbsp;</u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 color=black
face="Courier New"><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>BEGIN
{ $| = 1; print &quot;1..1\n&quot;; }<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 color=black
face="Courier New"><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>END
{print &quot;not ok 1\n&quot; unless $loaded;}<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 color=black
face="Courier New"><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>#
use Apache::AuthCookieDBI; # commented; can't really run this without Apache<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 color=black
face="Courier New"><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>$loaded
= 1;<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 color=black
face="Courier New"><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>print
&quot;ok 1\n&quot;;<u1:p></u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 color=black
face="Courier New"><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'><u1:p>&nbsp;</u1:p></span></font><o:p></o:p></p>

<p class=MsoNormal style='margin-left:35.4pt'><font size=2 color=black
face="Courier New"><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>and
that is it !</span></font><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:
12.0pt;margin-left:35.4pt'><font size=3 color=black face="Times New Roman"><span
style='font-size:12.0pt'><br>
Ok, I don't get the first line, and the second one looks out of place (but a
quick google confirmed what I thought that it would get run at the end of the
procedure), but from what I can see this will always print &quot;ok 1&quot;?<br>
<br>
Gavin<o:p></o:p></span></font></p>

</div>

</body>

</html>
<BR>
<BR>

<P><B><FONT SIZE=2 FACE="Arial">********************************************************************** </FONT></B></P>

<P><B><FONT SIZE=2 FACE="Arial">This is a commercial communication from Commerzbank AG.</FONT></B></P>
<BR>

<P><B><FONT SIZE=2 FACE="Arial">This communication is confidential and is intended only for the person to whom it is addressed.  If you are not that person you are not permitted to make use of the information and you are requested to notify <mailto:LONIB.Postmaster@commerzbankib.com> immediately that you have received it and then destroy the copy in your possession.</FONT></B></P>
<BR>

<P><B><FONT SIZE=2 FACE="Arial">Commerzbank AG may monitor outgoing and incoming e-mails. By replying to this e-mail you consent to such monitoring. This e-mail message and any attached files have been scanned for the presence of computer viruses. However, you are advised that you open attachments at your own risk.</FONT></B></P>
<BR>

<P><B><FONT SIZE=2 FACE="Arial">This email was sent either by Commerzbank AG, London Branch, or by Commerzbank Corporates & Markets, a division of Commerzbank. Commerzbank AG is a limited liability company incorporated in the Federal Republic of Germany. Registered Company Number in England BR001025. Our registered address in the UK is 60 Gracechurch Street, London, EC3V 0HR. We are regulated by the Financial Services Authority for the conduct of investment business in the UK and we appear on the FSA register under number 124920. </FONT></B></P>
<BR>

<P><B><FONT SIZE=2 FACE="Arial">**********************************************************************</FONT></B></P>
<BR>