While that would probably be doable (and useful^Wprofitable^W erm interesting ;-), it's rather grasping the wrong end of the stick, isn't it? To really have perl you'd need the equivalent of Ponie and Parrot written in Perl5. I know about PPI, and that could probably be a huge first step in the right direction for a parser, but it still doesn't give you the parsing capabilities of the current perl compiler (let alone the runtime etc.).

Anyway, this subthread has gone for long enough since about two posts ago, and you (tilly) know far more about these things than I do, so if you say it would be practicable to write a program which parses, compiles and runs any given Perl program in Perl5 itself then I'll shut up and downvote myself :-).

Now, what would be interesting IMO would be an implementation of a Perl6 to PIR compiler in Perl5, sort of a Pugs-in-Perl. I could see someone gathering enough interest to start and complete such a project (though the result would probably have less practical usefulness than Pugs).


Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Brian W. Kernighan

In reply to Re^5: What Perl CAN'T do? by tirwhan
in thread What Perl CAN'T do? by sanPerl

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.