Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

domm (4030)

  (email not shown publicly)

Just in case you like to know, I'm currently full-time father of 2 kids, half-time Perl hacker, sort-of DJ, bicyclist, no longer dreadlocked and 33 years old

I'm also head of [], maintainer of the CPANTS [] project, member of the TPF Grants Commitee [] and the YAPC Europe Foundation [].

I've got stuff on CPAN [], held various talks [] and organised YAPC::Europe 2007 in Vienna [].

Journal of domm (4030)

Thursday March 10, 2005
08:57 AM

The joys of documentation

[ #23582 ]

Yesterday I brought doc coverage of our application framework from 0 to 39.83%. Yay! And that's proper documentation, not just adding stub =head3 methodname to fool Pod::Coverage...

I also wrote some docs on general architecture, basic concepts etc. Unfourtunantly, I cannot measure those. And I fear that most of the real important docs are missing in those hard-to-define domains..

Then there are a lot of templates and config settings to document... I'm currently thinking of writing a fake module that has an empty sub for each template and each config entry, so that Pod::Coverage can forc^whelp me to document them. Hmm, we'll see...

Oh, today I continued documentation and found a quite tricky bug: If an error occures, the error message is stored in an err_header_out http header field and the server returns 500. Our ErrorDocument error handler catches those errors and generates a nice error page. But I discovered that it did't generate proper headers, it just sent the content to the client. So I added send_http_header. And suddenly I got header fields in the response body!.

After a little investigation (lwp-request++) I found the cause of the bug. If the error message contains a newline, that newline is printed in the err_header_out header field. And thus terminating the http header. Yuck. Now, after a s/\n/<br>/gs everything works.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.