Thank you all so much for your comments and guidance. Thank you to those who pointed out the very important caveat that certain logic requires monotonically increasing time within the datafiles - on this occasion this is the case thankfully.
During my experimentation I had a lot of problems with the following and I am guessing some of you will be able to tell me why as I am once again eeegnorant! The error I get is only at the second match even though $fha and $fhb get set as expected if I print them to screen. The error reported is "Use of uninitialized value in pattern match (m//) at whatever.pl line whatever, <INPUTB> line whatever". I suppose I also need to chomp the input lines before concatenating them but the point is that the match is failing and I can't see why... Many thanks in advance for any suggestions.
open OUTPUT, $outputFile
or die "Can't open $outputFile for writing $!\n";
open INPUTA, $inputFileA
or die "Can't open $inputFileA for writing $!\n";
open INPUTB, $inputFileB
or die "Can't open $inputFileB for writing $!\n";
print "a: ",$fha;
print "b: ",$fhb;
print OUTPUT $output_line,"\n";