You probably want something like the following (not heavily tested):
use warnings;
use strict;
@ARGV == 2 or die;
my @files = @ARGV;
my $date_qr = qr{^(\d{4}/\d\d/\d\d \d\d:\d\d:\d\d\.\d{3}) };
my @dates;
for my $i (0,1) {
open my $fh, '<', $files[$i]
or die "Can't open $files[$i]: $!\n";
while (<$fh>) {
next if /Epoch/;
chomp;
m/$date_qr/ or die "$files[$i]:$.: invalid line: $_\n";
$dates[$i] = $1;
last;
}
}
print "earliest=@dates\n";
my $i = 0;
if ($dates[0] ne $dates[1]) {
my $earliest = $dates[0] lt $dates[1] ? 0 : 1;
open my $fh, '<', $files[$earliest]
or die "Can't open $files[$earliest]: $!\n";
while (<$fh>) {
next if /Epoch/;
chomp;
m/$date_qr/ or die "files[$earliest]:$.: invalid line: $_\n";
last if $1 ge $dates[!$earliest];
$i++;
}
}
print "there are $i earlier date entries\n";
Dave. |