#!/usr/local/bin/perl # File: merge.pl #=========================================================================== ## Main block { &merge( $ARGV[0], $ARGV[1], $ARGV[2] ); exit(0); } # end main block... #=========================================================================== # #=========================================================================== sub parseFile_wNames { my($fileSpec) = shift; $i = 0; open(TXT, "$fileSpec") || error("Can't open file $fileSpec"); while ($line =) { chomp($line); $Names_Arr[++$i] = $line; } # while close(TXT); return($i); } # parseFile_wNames #=========================================================================== # # parses a file with data on format: # SVO AIN 0 -54.67 # SLD AIN 1 680.09 #=========================================================================== sub parseFile_sysl { my($fileSpec) = shift; $i = 0; open(TXT, "$fileSpec") || error("Can't open file $fileSpec"); while ($line =) { chomp($line); @fields = split(' ' ,$line); # fields[0] = name # fields[1] = 'AIN' # fields[2] = '1' (number)' # fields[3] = <----- THAT'S THE ONE $Val_Arr[++$i] = $fields[3]; } # while close(TXT); return($i); } # parseFile_sysl #=========================================================================== sub parseFile_sysv { my($fileSpec) = shift; $i = 0; open(TXT, "$fileSpec") || error("Can't open file $fileSpec"); while ($line =) { chomp($line); @fields = split(' ' ,$line); # fields[0] = name # fields[1] = 'AIN' # fields[2] = '1' (number)' # fields[3] = <----- THAT'S THE ONE $Val_Arr[++$i] = $fields[3]; } # while close(TXT); return($i); } # parseFile_sysv # #=========================================================================== sub merge { my ($f1, $f2, $f3) = @_; # my ($man, $sec ) = @_; $lines1 = parseFile_wNames( $f1 ); $lines2 = parseFile_sysl( $f2 ); $lines3 = parseFile_sysv( $f3 ); for $i (1 .. $lines1) { print "$Names_Arr[$i] \t\t $Val_Arr[$i] \t $Val_Arr[$i]\n"; } if ($lines1, $lines2 ne $line3) { print "Warning: Different number of lines in the three files $f1 has $lines1 lines $f2 has $lines2 lines $f3 has $lines3 lines\n"; } } # merge #====================================================== # End Of File #======================================================