Stories
Slash Boxes
Comments
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

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • $/ Regex (Score:2, Interesting)

    by chromatic (983) on 2003.05.23 16:31 (#20490) Homepage Journal

    This is a hard problem. Consider backtracking (stuff it back in a buffer) and greediness (how much do you read?). The trivial cases are pretty easy, but they rapidly get complex.

    • Re:$/ Regex (Score:2, Informative)

      There have been several threads about this on p5p, and I agree with what you say. However, I think that it may be possible to make it work reasonably for non-greedy regexps, and my hunch is that most of the time non-greedy regexps would be the correct way to express most people would want for a line ending.

      Here's the middle of one p5p thread on $/ regexp [develooper.com] If people are searching, I think that some of the other threads have had qr// in the subject. (Mmm. I'm linking to a message by me. Blantant self-promotio

      • Hmm. I could see one way that this could go...

        "features from other languages that I miss most in perl"

        • $/ as a regexp

        <damian> Perl 6 will have this

        • seamless integration between script and C++/Java/etc objects

        <damian> Perl 6 will have this

        • compiles to bytecode which I can ship independently of the souce

        <damian> Perl 6 will have this

        • compiler can check for typos in member names

        <damian> Perl 6 will have this

        • 2 dimensional playfield

        <damian> Perl 6 will h

        • Re:$/ Regex (Score:3, Insightful)

          Actually...
          • seamless integration between script and C++/Java/etc objects

          <damian> Parrot will have this

          • compiles to bytecode which I can ship independently of the source

          <damian> Parrot will have this

          • compiler can check for typos in member names

          <damian> Perl 6 will have this

          • 2 dimensional playfield

          <damian> Perl 6 will have multidimensional arrays and vectorizable functions and operations.

          • All programs should be expressible as combinations of Ook. Ook? and Ook!
      • Yes, handling non-greedy regexes (simple alternations, bounded ranges) is possible. I could see disallowing unbounded ranges or the /m and /s flags. I wonder if that'd confuse people who don't know the implementation and the reason for the implementation, though.