#/usr/bin/perl require "getopts.pl"; use Time::localtime; Getopts("n:b:e:"); $ndays = (defined($opt_n) ? "$opt_n" : 7); $p4c = "p4c"; $startdate = $opt_b; $enddate = $opt_e; unless (defined($startdate)) { $lt = localtime(time - $ndays*24*24*60); $startdate = ($lt->year()+1900) . "/" . ($lt->mon()+1) . "/" . $lt->mday(); } $enddate = "now" unless (defined($enddate)); @FileList = `$p4c files //depot/calls/...\@$startdate,$enddate`; chomp(@FileList); foreach (@FileList) { local($callno, $nrevisions, $changeno) = ($1,$2, $3) if (/\/\/depot\/calls\/(\d+)#(\d+) .* change (\d+) /); $ChangeNumber{$callno} = $changeno; $NRevisions{$callno} = $nrevisions; } foreach $c (sort keys %ChangeNumber) { my($subject, $originator) = PryOutInfo($c, $ChangeNumber{$c}); print join("\t", $c, "$NRevisions{$c}", $subject, $originator) . "\n" unless($originator =~ /mailer/i); } sub PryOutInfo { my($callno, $finalchangenum) = @_; my(@l, $owner, $subject, $originator) = (); @l = GetChangeInfo($callno); ($subject = $l[3]) =~ s/^\s*//; ($originator = $l[2]) =~ s/\s*//; return($subject, $originator); } sub GetChangeInfo { my($changeno) = @_; my(@tmp) = `$p4c describe -s $changeno`; chomp(@tmp); return($tmp[2], $tmp[3], $tmp[4], $tmp[5], $tmp[6]); }