my $dbh = DBI->connect("dbi:Sybase:server=CASTOR",$USER, $PASS); my $select = "select entrydate,status from database order by entrydate"; my $START = undef; my $STOP = undef; my $CUSTHOLD = 0; my $LASTSTATE=''; my $sth=$dbh->prepare($select); $sth->execute; while ( my $row = $sth->fetchrow_arrayref) { my ($entrydate,$statusid) = @$row; $LASTSTATE=$statusid; if ($statusid != "hold") { if($START) { $STOP = parse_date($entrydate); $CUSTHOLD += $STOP - $START; $START=undef; } } else { if (!$START) { $START = parse_date($entrydate); } } if(($LASTSTATE eq "hold") && defined $START) { $CUSTHOLD += time - $START; } } return($CUSTHOLD);