http://qs321.pair.com?node_id=1214649


in reply to regex for identifying encrypted text

So the problematic block of lines start with set private ", then some junk that doesn't containt quotes and then it ends with a quote, right?

You seem to be parsing this line-by-line, correct? So, modifying your code to make a very rudimentary state machine, i'd guess something like this would do:

my $isprivatekey = 0; for my $line (@diff) { if($isprivatekey) { if($line =~ /\"/) { # last line of private key $isprivatekey = 0; } next; } if($line =~ /set\ private\-key/) { # uh, get some useless stuff here $isprivatekey = 1; next; } next LINE if $line =~ /set password ENC/; [...] }

This should skip the whole private key block altogether

"For me, programming in Perl is like my cooking. The result may not always taste nice, but it's quick, painless and it get's food on the table."

Replies are listed 'Best First'.
Re^2: regex for identifying encrypted text
by hippo (Bishop) on May 16, 2018 at 12:44 UTC

    The problem with this approach is that the line with "set private" is the same in both files and therefore will not be featured in the diff. The data between these markers must be removed before the diff is performed.

      Would diff with context help? Might make the processing simpler in the long run.

      -QM
      --
      Quantum Mechanics: The dreams stuff is made of