Perl uses the 'ne' operator to compare strings, not the != operator. ---- --- Scoop/Calendar.pm.orig 2007-10-30 01:15:32.000000000 -0600 +++ Scoop/Calendar.pm 2007-10-30 01:17:11.000000000 -0600 @@ -894,7 +894,7 @@ push @{$S->{CALENDAR_DAY_CACHE}->{$event->{cal_id}}->{$event->{date_end}}}, $event->{eid}; warn " (_get_months_events) adding event $event->{eid}'s end date ($event->{date_end}) to the cache" if $DEBUG; } - if ( $event->{date_start} && $event->{date_end} != '0000-00-00' ) { + if ( $event->{date_start} && $event->{date_end} ne '0000-00-00' ) { my @date_start = split(/-/,$event->{date_start}); my @date_end = split(/-/,$event->{date_end}); my $Dd = Date::Calc::Delta_Days($date_start[0],$date_start[1],$date_start[2],@date_end);