| line | true | false | branch | 
 
| 24 | 0 | 56 | unless my($cal, $date) = $str =~ /^(?:\@#(.+)\@\s+)?(.+)$/ | 
 
| 29 | 0 | 56 | unless exists $months{$cal} | 
 
| 31 | 3 | 53 | unless my($d, $month, $y) = $date =~ /^(?:(?:(\d+)\s+)?(\w+)\s+)?(\d+)$/ | 
 
| 41 | 53 | 583 | if $month eq $months{$cal}[$_] | 
 
| 43 | 0 | 53 | unless defined $m | 
 
| 45 | 0 | 53 | unless my $dt = eval {
	do {
	'DateTime'->new('year', $y, 'month', $m, 'day', $d || 15)
}
} | 
 
| 55 | 3 | 53 | unless my($dt, $known) = 'Gedcom::Date::Simple'->parse_datetime($str) | 
 
| 80 | 39 | 0 | unless (defined $self->{'gedcom'}) | 
 
| 83 | 31 | 8 | if ($self->{'known'}{'d'}) { } | 
 
|  | 4 | 4 | elsif ($self->{'known'}{'m'}) { } | 
 
| 118 | 0 | 2 | if (not $self->{'known'}{'m'}) { } | 
 
|  | 0 | 2 | elsif (not $self->{'known'}{'d'}) { } | 
 
| 135 | 0 | 2 | if (not $self->{'known'}{'m'}) { } | 
 
|  | 0 | 2 | elsif (not $self->{'known'}{'d'}) { } | 
 
| 148 | 0 | 0 | if (not $self->{'known'}{'m'}) { } | 
 
|  | 0 | 0 | elsif (not $self->{'known'}{'d'}) { } | 
 
| 165 | 3 | 6 | if ($self->{'known'}{'d'}) { } | 
 
|  | 3 | 3 | elsif ($self->{'known'}{'m'}) { } | 
 
| 180 | 39 | 6 | if ($self->{'known'}{'d'}) { } | 
 
|  | 3 | 3 | elsif ($self->{'known'}{'m'}) { } | 
 
| 197 | 4 | 17 | if exists $p{'days'} | 
 
| 198 | 20 | 1 | if exists $p{'months'} | 
 
| 204 | 9 | 12 | unless ($secret) |