sierrathedog04 was baffled recently about me saying I was going to patch Perl. Allow me to shed some light on the subject.

To patch Perl, you don't need to know very much C -- rather, you need to know a lot of perl. No, not Perl, but perl. The code for perl is written in C, and there are more macros in the code than you can imagine. I've never done any really involving work with the perl source code, but I plan to in the future.

The problem I worked on most recently was putting a warning around the use of the /o modifier with a qr// object. There were several places that needed patching: Only a little bit of actual C code was required. The rest, though, is just as important. The only reason Perl is documented as much as it is, is because real people have spent time documenting it. When Perl changes, the documentation must change. Tests must be created to ensure the change works as expected, and doesn't break other things.

As for submitting the patch, P5P (the Perl5-Porters) prefer patches in "universal diff" format (diff -u OLD NEW). After submitting my patch to perl5-porters@perl.org, feedback comes in about something that I may not have handled correctly, or suggesting a different course of action. Finally, after things work and people are happy, Jarkko, the Perl Patch Pumpking, lets me know that my patch has been "applied, thanks."

What Perl did I patch? The most recent "snapshot" of version 5.7.1, also known as "bleadperl". This is the development branch of Perl 5.6.1, indicated by the odd number. (When Perl 5.8 comes out, development will occur in 5.9.)

For more information, read the perlhack.pod documentation, found in the Perl 5.6 docs.

japhy -- Perl and Regex Hacker

In reply to What? I patched Perl? by japhy

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.