This code sends me an email with the number of days until a significant event; in this case, the 2008 election. It could easily be adapted to send the number of days since an event (a sobriety date, for example, or the days since you started programming in Perl).
I run a cron job to send this email to myself every day.
use strict;
use Net::SMTP;
use Date::Format;
use Date::Calc qw(Delta_Days Add_Delta_Days);
my $smtp=Net::SMTP->new('mail.sample.com');
$smtp->mail('zeno@sample.com');
$smtp->recipient('zeno@sample.com');
my $msg = "";
$msg .= << 'HEADER';
Priority: Non-Urgent
Importance: low
sensitivity: Personal
From: "Election Day" <zeno@sample.com>
To: <zeno@sample.com>
HEADER
# Set Expiry Date 1 day in the future
my $expiry_date = time2str("%a, %d %b %T %Y %z", time+86400);
$msg .= "Expiry-Date: " . $expiry_date ."\n";
my ($now_yr, $now_mon, $now_day) = (localtime)[5, 4, 3];
$now_mon += 1;
$now_yr += 1900;
my $days_until = Delta_Days($now_yr, $now_mon, $now_day, 2008, 11, 04)
+;
$msg .= "subject: " . $days_until . " days til election\n\n";
$msg .= $days_until . " days til election\n\n";
$smtp->data($msg);
$smtp->quit;