I'll skip the bit about "code in the real world that treats leading spaces as significant" as hooky and getting what it deserves. (Yes. Its a joke:)

In the application that started the thought, the OP is reformatting data from fixed width fields to CSV. Leading spaces on numerics probably won't harm, but if nothing else they consume disc space. That aside, if you ever processed legacy data from COBOL ot FORTRAN apps, then its not uncommon for financial data to be right justified to align decimal points, but the the data is prefixed with a currency symbol.

$103.12 $10312.00

It would be easier to deal with if the leading spaces were stripped.

Its also not that uncommon to right justify string fields.

I don't expect that the feature would set the world on fire, but it seems like it would be as useful as several other fairly obscure features available with pack: uuencoding, checksum calculation, BER compressed integers, c/a formats etc.

All of these things are fairly trivial to do yourself in perl, but if you have the need for them and the need for them to operate efficiently, having them run at the C-level rather than in perl is a god-send.

From my preliminary investigation, the additional code required is fairly minimal. The biggest cost would probably be the extra documentation I think :) Perhaps the biggest benefit would be the ability to efficiently pack large arrays of data (numbers or text), right-justified for passing on to systems and software that expect this.


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller



In reply to Re: Re: RFC: A (minor) new perl feature. by BrowserUk
in thread RFC: A (minor) new perl feature. by BrowserUk

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.