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

    I honestly think it can be a lot more readable, especially when the regex would have been in the thousands of characters.

    • frezik@midwest.social
      link
      fedilink
      arrow-up
      0
      arrow-down
      1
      ·
      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
        1
        arrow-down
        1
        ·
        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
          1
          arrow-down
          1
          ·
          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
            2
            arrow-down
            1
            ·
            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
              2
              arrow-down
              1
              ·
              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.