Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: String replacement preparation for file comparison

by roboticus (Chancellor)
on Apr 06, 2012 at 13:47 UTC ( #963824=note: print w/ replies, xml ) Need Help??


in reply to String replacement preparation for file comparison

TJRandall:

I recently had a problem where someone *radically* reformatted a package, and I had to add one of their patches to the non-screwed-up version. So to find the differences, I reformatted *both* versions and diffed the results. Then I could identify *what* the changes were, so I went back to my original version and applied the appropriate patch.

The reformatter was trivial: I eliminated all line breaks, then I inserted line breaks after each semicolon and comma, like so:

$ cat squidge.pl #!/usr/bin/perl use strict; use warnings; use File::Slurp; my $INFName = shift or die "Missing file name"; my $t = read_file($INFName); $t =~ tr/\n\r/ /; $t =~ s/;/;\n/g; $t =~ s/,/,\n/g; open my $FH, '>', $INFName . ".out" or die; print $FH $t, "\n";

Then I used GNU diff, telling it to ignore whitespace differences and such:

diff -abiwEB --strip-trailing-cr file1 file2

If you're just trying to identify files that differ, this might do the trick for you.

...roboticus

When your only tool is a hammer, all problems look like your thumb.


Comment on Re: String replacement preparation for file comparison
Select or Download Code
Replies are listed 'Best First'.
Re^2: String replacement preparation for file comparison
by TJRandall (Sexton) on Apr 06, 2012 at 14:04 UTC

    This is a great approach - thank you! This fixes my "other" compare problem (differences flagged in Text::Diff on carriage returns). I still have to figure out the first "fix" - taking the function/package/procedure name and making sure it is:

    CREATE OR REPLACE FUNCTION "TRON2000"."<name>" AS.

    Thank you again!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://963824]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (4)
As of 2015-07-28 04:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (252 votes), past polls