Fucking traitorous scum

  • raspberriesareyummy@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    3 days ago

    Yes, regex handling in Perl is the smoothest I have ever seen, and it matched the first description I heard of perl as “the best tool for text processing”. I have done big things with that.

    Those $ variables are dynamic scoped! If you call a method and it matches stuff you lose the variables!

    My match scopes typically looked like so:

    if ($inString =~ /^([ \t]+)(.*)$/) {
        my $indent = $1;    # store first match
        my $remainder = $2; # store second match
        
        # do stuff
    }
    

    (not tested, just edited by hand to anonymise)

    • nik9000@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      3 days ago

      I think it came up more like

      if ($inString =~ /^([ \t]+)(.*)$/ && has_a_cow($2)) {
      

      For me. I dunno. I was never good at perl. I just wanted to hack something together.

      • raspberriesareyummy@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        3 days ago

        I did bigger parsing tools in perl, so I often matched a lot of expressions and needed them all in variables. Not only to save the $N variables, but also for code readability, I would then store the matches in proper variable names