Hi Monks,
I put the following code to run on a linux box and tried to run it but it gave me some error
use strict;
use warnings;
use DateTime::Format::Strptime;
my $Strp = new DateTime::Format::Strptime(pattern => '%Y-%b-%d %T'
+,);
my $infile = 'log.txt';
my $outfile = 'report.txt';
my($fh_out, $fh);
my %lookup;
my $channel = 'TWO';
my $time_delta = 3600; # seconds = 1 hour
open($fh_out, '>', $outfile) or die "Could not open outfile: $!";
open($fh, '<', $infile) or die "Could not open logfile: $!";
while (<$fh>) {
next unless /$channel/;
$_ =~ m/^(.*) UTC.*refs = (\d+)$/;
my $dt = $Strp->parse_datetime($1);
my $timestamp = $dt ->epoch();
my $refs = $2;
if ( defined($lookup{$refs}) && $lookup{$refs} + $time_delta <= $t
+imestamp ) {
print $fh_out "REFS $refs: occurrences at " . $lookup{$refs} .
+ "and $timestamp \n";
print "REFS $refs: occurrences at " . $lookup{$refs} . " and $
+timestamp \n";
}
$lookup{$refs} = $timestamp;
}
close $fh_out;
#close $fh;
The error seems to stem from here
my $dt = $Strp->parse_datetime($1);
my $timestamp = $dt ->epoch();
my $refs = $2;
the $1 and $2 ...
I wonder where did i go wrong ...