• frezik@midwest.social
    link
    fedilink
    arrow-up
    0
    ·
    10 days ago

    There’s a built-in feature that Perl has that only a few of the languages claiming PCRE have actually done, and it makes things a lot more readable. The /x modifier lets you put in whitespace and comments. That alone helps a lot if you stick to good indentation practices.

    If all other code was written like an obfuscated C contest, it would be horrible. For some reason, we put up with this on regex, and we don’t have to.

    https://wumpus-cave.net/post/2022/06/2022-06-06-how-to-write-regexes-that-are-almost-readable/index.html

    • balsoft@lemmy.ml
      link
      fedilink
      arrow-up
      0
      ·
      10 days ago

      I agree, but then there’s also some other niceties that come from expression parsers in the language itself (as noted in the article): syntax highlighting, LSP, a more complete AST for editors like helix.

      • frezik@midwest.social
        link
        fedilink
        arrow-up
        0
        ·
        10 days ago

        Syntax highlighting works fine as long as your language has a way to distinguish regexes from common strings. Another place where Perl did it right decades ago and the industry ignored it.

        • balsoft@lemmy.ml
          link
          fedilink
          arrow-up
          0
          ·
          10 days ago

          Nah, the language itself should be as simple as possible. Bloating it with endless extensibility and features is exactly what makes Perl a write-only language in many cases and why it is becoming less and less relevant with time.

          • frezik@midwest.social
            link
            fedilink
            arrow-up
            0
            ·
            10 days ago

            Except it has some really good ideas that should be copied. There are other languages that have a syntax for denoting regex, such as ~r'foo' in Elixir. This gets the syntax highlighting you need without a big addition to the language.