Where:
-usa|ge Print this usage
-h|elp Detailed help
- -v|erbose Verbose mode (Default: -verbose)
+ -v|erbose Verbose mode (Default: Not verbose)
-de|bug Turn on debugging (Default: Off)
-user|name User name to log in with (Default: $USER)
"What's this? A new message",
);
+my $icon = '/home/andrew/.icons/Thunderbird.jpg';
+my $timeout = 5 * 1000;
+
my %opts = (
usage => sub { pod2usage },
help => sub { pod2usage(-verbose => 2)},
imap => $defaultIMAPServer,
);
+sub notify($) {
+ my ($msg) = @_;
+
+ my $cmd = "notify-send -i $icon -t $timeout '$msg'";
+
+ Execute $cmd;
+
+ return;
+} # notify
+
sub interrupted {
if (get_debug) {
- $log->msg("Turning off debugging");
+ notify 'Turning off debugging';
set_debug 0;
} else {
- $log->msg("Turning on debugging");
+ notify ('Turning on debugging');
set_debug 1;
} # if
return;
} # interrupted
-sub Connect2IMAP;
-
-sub restart {
- $log->dbug("Re-establishing connection to $opts{imap} as $opts{username}");
- Connect2IMAP;
+sub restart;
- goto MONITORMAIL;
-} # restart
+sub Connect2IMAP;
$SIG{USR1} = \&interrupted;
$SIG{USR2} = \&restart;
# Google Talk doesn't like #
$subject =~ s/\#//g;
+ # Remove long strings of numbers like order numbers. They are uninteresting
+ my $longNumber = 5;
+ $subject =~ s/\s+\S*\d{$longNumber,}\S*\s*//g;
+
# Now speak it!
my $logmsg = "From $from $subject";
return;
} # MonitorMail
+sub restart {
+ my $msg = "Re-establishing connection to $opts{imap} as $opts{username}";
+
+ $log->dbug($msg);
+
+ Connect2IMAP;
+
+ MonitorMail;
+} # restart
+
END {
# If $log is not yet defined then the exit is not unexpected
if ($log) {