http://www.perlmonks.org?node_id=1074395

scperl has asked for the wisdom of the Perl Monks concerning the following question:

During a process it generates the temporary files with (.new) as suffix to the source files and it show the difference between the source and temp files on screen Source files are file1.h , file2.h and readme.txt

During the process created temporary files are file1.h.new , file2.h.new and readme.txt.new

The differences it shows as below

output1

--- file1.h Tue Feb 11 16:22:12 +++ file1.h.new Tue Feb 11 16:38:37 @@ -35,7 +35,7 @@ #ifndef _ VERSION_H #define _ VERSION_H -#define MAJOR_NUM $VAR{MAJOR} +#define MAJOR_NUM 2 #define MINOR_NUM $VAR{MINOR} #define BUILD_NUM $VAR{BUILD_NUMBER} #define DATE is $VAR{DATE}

output2

--- file2.h Tue Feb 11 16:21:20 +++ file2.h.new Tue Feb 11 16:38:37 @@ -35,7 +35,7 @@ #ifndef _ VERSION_H #define _ VERSION_H -#define MAJOR_NUM $VAR{MAJOR} +#define MAJOR_NUM 2 #define MINOR_NUM $VAR{MINOR} #define BUILD_NUM $VAR{BUILD_NUMBER}

output3:

--- file1.h Tue Feb 11 16:22:12 +++ file1.h.new Tue Feb 11 16:38:37 @@ -37,7 +37,7 @@ #define MAJOR_NUM $VAR{MAJOR} #define MINOR_NUM $VAR{MINOR} -#define BUILD_NUM $VAR{BUILD_NUMBER} +#define BUILD_NUM 897 #define DATE is $VAR{DATE}

output4:

--- file2.h Tue Feb 11 16:21:20 +++ file2.h.new Tue Feb 11 16:38:37 @@ -37,7 +37,7 @@ #define MAJOR_NUM $VAR{MAJOR} #define MINOR_NUM $VAR{MINOR} -#define BUILD_NUM $VAR{BUILD_NUMBER} +#define BUILD_NUM 897 #define 0x00000400

output5 :

--- readme.txt Tue Feb 11 16:21:20 +++ readme.txt.new Tue Feb 11 16:38:37 @@ -1,3 +1,3 @@ -#define MINOR_NUM $VAR{MINOR} +#define MINOR_NUM 0 last line last line

output 6:

--- file1.h Tue Feb 11 16:22:12 +++ file1.h.new Tue Feb 11 16:38:37 @@ -36,7 +36,7 @@ #define _ VERSION_H #define MAJOR_NUM $VAR{MAJOR} -#define MINOR_NUM $VAR{MINOR} +#define MINOR_NUM 0 #define BUILD_NUM $VAR{BUILD_NUMBER} #define DATE is $VAR{DATE}

output 7:

--- file1.h Tue Feb 11 16:22:12 +++ file1.h.new Tue Feb 11 16:38:37 @@ -38,7 +38,7 @@ #define MAJOR_NUM $VAR{MAJOR} #define MINOR_NUM $VAR{MINOR} #define BUILD_NUM $VAR{BUILD_NUMBER} -#define DATE is $VAR{DATE} +#define DATE is 2014-02-11 #define 0x00000400

How can we get the output of difference between files file1.h and file1.h.new to concatenate and show in single glance using perl similarly for other files also (file2.h and readme.txt )

Required OUTPUT for diff of file1.h and file1.h.new is like below

--- file1.h Tue Feb 11 16:22:12 +++ file1.h.new Tue Feb 11 16:38:37 -#define MAJOR_NUM $VAR{MAJOR} +#define MAJOR_NUM 2 -#define MINOR_NUM $VAR{MINOR} +#define MINOR_NUM 0 -#define BUILD_NUM $VAR{BUILD_NUMBER} +#define BUILD_NUM 897 -#define DATE is $VAR{DATE} +#define DATE is 2014-02-11

Required OUTPUT for diff of file2.h and file2.h.new is like below

--- file2.h Tue Feb 11 16:22:12 +++ file2.h.new Tue Feb 11 16:38:37 -#define MAJOR_NUM $VAR{MAJOR} +#define MAJOR_NUM 2 -#define BUILD_NUM $VAR{BUILD_NUMBER} +#define BUILD_NUM 897

Required OUTPUT for diff of readme.txt and readme.txt.new is like below

--- readme.txt Tue Feb 11 16:21:20 +++ readme.txt.new Tue Feb 11 16:38:37 -#define MINOR_NUM $VAR{MINOR} +#define MINOR_NUM 0