its a simple 2 arrays and i want to subtract them with different rows name .. for example
file1acv sad das
21 43 33
23 33 21
file2
cvc bgb cdc
12 32 32
32 32 32
and subtract them and create a new file with different header names of rows and columns such as file 3
qwqe wqwe ewq
- - -
- - -
and file 3 shuld have a threshold defined in argument dat if after subtraction it z more than 5 or 10 (as defined in argument) it shuld only print those values ! till now code done as follows:
use autodie; use List::Util qw(max); use strict; use warnings; my $file1=$ARGV[0]; my $file2=$ARGV[1]; my $file3=$ARGV[2]; open( my $in1, "<", $file1); open( my $in2, "<", $file2); open( my $out, '>', $file3); while (! eof($in1) && ! eof($in2)) { chomp(my $line1 = <$in1>); chomp(my $line2 = <$in2>); my @line1 = split ' ', $line1; my @line2 = split ' ', $line2; my @out = map {$line1[$_] - $line2[$_]} (0..max($#line1,$#line2)); print $out join(' ', @out), "\n"; } warn "Premature end of file: $file1" if ! eof($in2); warn "Premature end of file: $file2" if ! eof($in1);
now i am stuck .. dont know how to go next.. () and 1 more problem how to ignore the 1st row because while subtracting d names of rows and columns are troubling me..
In reply to Its a pretty simple question.. though embarassed to ask but i am totally new in perl by gb92
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |