#!/usr/bin/perl use strict; use warnings; use Date::Manip; my @owner= qw/oracle sybase/; open (FILE,"cron.log"); while() { chomp; next if (split /[ ]+/)[1] !~ /oracle|sybase/ ; my ($mode,$owner,$job_id,undef,undef,undef,undef,$timestamp,undef)=split /[ ]+/; #get same jobID finish timestamp and calculate difference, #then save back ${$owner}{$job_id}=DateCalc(${$owner}{$job_id},$timestamp) if ($mode=~ /^>/); } close(FILE); foreach $owner(@owner){ foreach (keys %{$owner}) { print "$owner - JobID:$_ - RunTime:${$owner}{$_}\n"; };}