use strict;
use warnings;
my $file1=$ARGV[0];
my $file2=$ARGV[1];
my $file3=$ARGV[2];
open my $in1, "<", $file1 or die "unable to open $file1 $!";
open my $in2, "<", $file2 or die "unable to open $file2 $!";
open my $out, '>', $file3 or die "unable to open $file3 $!";
my $header1 = <$in1>;
my $header2 = <$in2>;
print $out "some header for output file \n";
# now you are all set with headers, you can focus on the data
while (my $line1 = <$in1>) {
my $line2 = <$in2>;
last unless defined $line2;
chomp ($line1, $line2);
my @values1 = split $line1;
my @values2 = split $line2;
my @values3 = map {$values1[$_] - $values2[$_]} 0..$#values1;
print $out "@values3 \n";
}
####
foo bar baz
43 41 67
####
foo bar baz
41 2 60
####
Some new header to be determined
2 39 7