in reply to Dates and SQL

My database system (Ingres) allows me to use the constant 'NOW' as the current date. You query would then become:
$sth = $dbh->prepare("UPDATE Schedules SET Date = 'NOW' WHERE ID = $id +") or die "Couldn't prepare statement: $DBI::errstr; stopped";
Check the database documentation and see if a similar method exists.

If not then you can fudge the date using localtime in array mode and a bit of sprintf:

my @cur_time = localtime(); my $now = sprintf("%4d-%02d-%02d", $cur_time[5]+1900, $cur_time[4]+1, +$cur_time[3]);
for an ISO standard date.

You are using $dbh->{RaiseError}=1, aren't you? It does make error-checking so much easier - you don't need all those or die "Error...." check everywhere. And you don't forget the one where the code fails in production!