| line | % | coverage | branch |
| 114 | 50 | T | F | if (my $geo = $params->{'geocoder'}) |
| 118 | 50 | T | F | unless defined $text |
| 120 | 50 | T | F | if (ref $text eq "SCALAR") |
| 150 | 0 | T | F | unless $list |
| 167 | 50 | T | F | unless $section |
| 180 | 100 | T | F | if ($entry =~ /^(\w+)\s+\(([^)]+)\)\s+(\w+)\s+of\s+(.+)$/) { } |
| 100 | T | F | elsif ($entry =~ /^(.+?)\s+\(([^)]+)\)\s+of\s+(.+)$/) { } |
| 100 | T | F | elsif ($entry =~ /^(.+?)\s+of\s+(.+)$/) { } |
| 195 | 100 | T | F | unless $name |
| 196 | 100 | T | F | if $name =~ /^father-in-law\sto\s/ |
| 197 | 100 | T | F | if $name =~ /^devoted\s/i |
| 198 | 50 | T | F | if $name =~ /^loved\s/i |
| 204 | 100 | T | F | if defined $spouse and $spouse ne "" |
| 205 | 100 | T | F | if defined $location and $location ne "" |
| 219 | 50 | T | F | if ($phrase =~ /^((?:\w+\s*,\s*)+\w+),?\s*and\s+(\w+)\s+(\w+)$/) |
| 228 | 50 | T | F | if ($phrase =~ /^([\w\s]+?)\s+and\s+(\w+)\s+(\w+)$/) |
| 239 | 50 | T | F | if ($phrase =~ /(.+?),\s*(\w+)\s+and\s+(\w+)/) { } |
| 245 | 50 | T | F | if defined $_ |
| 252 | 100 | T | F | if ($text =~ /survived by (his|her) children\s*([^\.;]+)/i) { } |
| 100 | T | F | elsif ($text =~ /Loving mum to\s*([^\.;]+)/i) { } |
| 100 | T | F | elsif ($text =~ /Loving father of\s*([^\.;]+)/i) { } |
| 100 | T | F | elsif ($text =~ /mother of\s*([^\.;]+)?,/i) { } |
| 100 | T | F | elsif ($text =~ /sons,?\s*([a-z]+)\s+and\s+([a-z]+)/i) { } |
| 50 | T | F | elsif ($text =~ /Surviving are (?:a )?daughters?,\s*Mrs\.\s+(\w+)\s+\(([^)]+)\)\s+(\w+),\s+([^;]+?);/i) { } |
| 270 | 100 | T | F | if ($text =~ /\bdaughter,?\s([a-z]+)/i) |
| 273 | 100 | T | F | if ($text =~ /\bgranddaughter,?\s([a-z]+)/i) |
| 276 | 50 | T | F | if @children |
| 277 | 100 | T | F | if (@grandchildren) |
| 306 | 100 | T | F | if ($text =~ /\ssons,\s*(.*?);/s) |
| 308 | 100 | T | F | if ($sons_text =~ /, all of (.+)$/) { } |
| 312 | 100 | T | F | if ($son =~ /(\w+)\s+and\s+(\w+)/) { } |
| 341 | 100 | T | F | if ($text =~ /\sdaughters?,\s*Mrs\.\s+(.+?)\s+(\w+),\s+([^;]+)\sand/) { } |
| 100 | T | F | elsif ($text =~ /one daughter,\s*(.+?),\s*(.+?);/) { } |
| 351 | 50 | T | F | if ($name =~ /(\w+)\s+(\w+)/) { } |
| 366 | 100 | T | F | if @children |
| 368 | 100 | T | F | unless ($family{'children'}) |
| 370 | 100 | T | F | $1 eq 'son' ? : |
| 373 | 50 | T | F | $grandkids ? : |
| 50 | T | F | if (my(@grandchildren) = $grandkids ? split(/\s*,\s*|\s+and\s+/, $grandkids, 0) : ()) { } |
| 100 | T | F | elsif ($sex eq 'F' and $child =~ /(.+)\s+\((.+)\)/) { } |
| 50 | T | F | elsif ($child ne 'Mrs') { } |
| 386 | 100 | T | F | if @children |
| 389 | 100 | T | F | unless ($family{'children'}) |
| 390 | 100 | T | F | if ($text =~ /\ssons?[,\s]\s*(.+?)[;\.]/) |
| 396 | 100 | T | F | if ($text =~ /\sdaughters?[,\s]\s*(.+?)[;\.]/) |
| 405 | 100 | T | F | unless ($family{'grandchildren'}) |
| 406 | 100 | T | F | if ($text =~ /grandchildren\s+([^\.;]+)/i) |
| 408 | 50 | T | F | if (scalar @grandchildren) |
| 410 | 50 | T | F | if defined $_ |
| 414 | 100 | T | F | if ($family{'grandchildren'} and scalar @{$family{'grandchildren'};}) { } |
| 418 | 50 | T | F | if ($family{'grandchildren'}[0] =~ /brothers/) |
| 419 | 0 | T | F | unless (exists $family{'brothers'}) |
| 428 | 100 | T | F | if (not defined $family{'grandchildren'} or $#{$family{"grandchildren"};} <= 0) |
| 433 | 100 | T | F | if ($grandchildren_str) |
| 436 | 100 | T | F | if (scalar @grandchildren) { } |
| 100 | T | F | elsif ($text =~ /grandm\w+\s/) { } |
| 448 | 100 | T | F | if ($text =~ /predeceased by (his|her) sisters?\s*([^;\.]+);?/i) { } |
| 456 | 100 | T | F | if ($name eq "Mrs") |
| 457 | 50 | T | F | if ($text =~ / sister,\s*Mrs\.\s+([A-Z][a-zA-Z]+\s+[A-Z][a-zA-Z]+)/) { } |
| 463 | 50 | T | F | if ($name) |
| 464 | 50 | T | F | $text =~ /\bpredeceased by.*?$name/i ? : |
| 472 | 100 | T | F | unless (exists $family{'sisters'}) |
| 473 | 100 | T | F | if ($text =~ /\stwo\ssisters,\s*(.*?)\sand\s(.*?)[;:]/s) |
| 476 | 50 | T | F | if ($sister =~ /Mrs\.\s(.+?),\s(.+)/) { } |
| 480 | 50 | T | F | if ($name =~ /(\w+)\s+(\w+)/) { } |
| 504 | 100 | T | F | if ($family{'sisters'}) |
| 516 | 50 | T | F | if ($text =~ /predeceased by (his|her) brothers?\s*([^;\.]+);?/i) { } |
| 524 | 50 | T | F | $text =~ /\bpredeceased by.*?$1/i ? : |
| 529 | 50 | T | F | unless ($family{'brothers'} or $family{'sisters'} or $family{'siblings'}) |
| 530 | 100 | T | F | if ($text =~ /sister of ([a-z]+) and ([a-z]+)/i) |
| 537 | 100 | T | F | unless (exists $family{'brothers'}) |
| 538 | 100 | T | F | if ($text =~ /\sbrothers,\s*(.*?)[;\.]/s) |
| 540 | 100 | T | F | if ($brothers_text =~ /, all of (.+)$/) { } |
| 544 | 100 | T | F | if ($son =~ /(\w+)\s+and\s+(\w+)/) { } |
| 576 | 50 | T | F | if (not exists $family{'brothers'} and $text =~ /\b(?:two|three|four)\s+brothers?,\s*(.+?)(?:,\s*a\s+(?:sister|half-sister)|;)/i) |
| 582 | 0 | T | F | if ($brothers_text =~ /\band\b/) |
| 594 | 0 | T | F | if scalar @brothers |
| 598 | 100 | T | F | $text =~ /as well as several nieces and nephews/i ? : |
| 601 | 100 | T | F | if ($text =~ /(son|daughter) of the late\s+(.+?)\s+and\s+(.+?)\./i) { } |
| 100 | T | F | elsif ($text =~ /parents were (\w+) and (\w+)/i) { } |
| 609 | 50 | T | F | if ($mother =~ /(.+)\s+\((.+)\)\s+(.+)/) |
| 624 | 100 | T | F | if ($text =~ /(wife|husband) of the late\s+([\w\s]+)\s+\((\d{4})\)/) { } |
| 100 | T | F | elsif ($text =~ /\bmarried ([^,]+),.*?\b(?:on\s+)?([A-Z][a-z]+ \d{1,2}, \d{4})(?:.*?\b(?:at|in)\s+([^.,]+))?/i) { } |
| 100 | T | F | elsif ($text =~ /husband (?:to|of) the late\s([\w\s]+)[\s\.]/i) { } |
| 100 | T | F | elsif ($text =~ /\b(?:wife|husband) of ([^.,;]+)/i) { } |
| 100 | T | F | elsif ($text =~ /\bsurvived by her husband ([^.,;]+)/i) { } |
| 100 | T | F | elsif ($text =~ /\bsurvived by his wife[,\s]+([^.,;]+)/i) { } |
| 665 | 0 | T | F | if (exists $family{'spouse'} and ref $family{'spouse'} eq "HASH" and defined $family{'spouse'}[0]{'location'} and $family{'spouse'}[0]{'location'} eq "the late") |
| 670 | 100 | T | F | if ($text =~ /funeral service.*?at\s+(.+?),?\s+on\s+(.*?),?\s+at\s+(.+?)\./) { } |
| 100 | T | F | elsif ($text =~ /funeral service.*?at\s+([^\n]+?)\s+on\s+([^\n]+)\s+at\s+([^\n]+)/i) { } |
| 100 | T | F | elsif ($text =~ /funeral services.+\sat\s(.+)\sat\s(.+),\swith\s/i) { } |
| 50 | T | F | elsif ($text =~ /funeral services.+\sat\s(.+),\swith\s/i) { } |
| 100 | T | F | elsif ($text =~ /services.+\sat\s(.+),\swith\s/i) { } |
| 682 | 50 | T | F | if ($family{'funeral'}{'date'} =~ /(.+?)\.\s{2,}/) |
| 684 | 50 | T | F | if ($family{'funeral'}{'date'} =~ /(.+?)\sat\s(.+)/) |
| 702 | 100 | T | F | if ($text =~ /father-in-law to\s+([A-Za-z\s]+)/) { } |
| 100 | T | F | elsif ($text =~ /mother-in-law to\s+([A-Za-z\s]+)/i) { } |
| 708 | 50 | T | F | if (scalar($family{'children_in_law'} == 0)) |
| 714 | 100 | T | F | if ($text =~ /niece of\s+([A-Za-z]+)/) |
| 720 | 100 | T | F | if ($text =~ /[^\b]Born in ([^,]+),.*?\b(?:on\s+)?([A-Z][a-z]+ \d{1,2}, \d{4})/i) { } |
| 100 | T | F | elsif ($text =~ /[^\b]Born in ([a-z,\.\s]+)\s+on\s+(.+)/i) { } |
| 100 | T | F | elsif ($text =~ /S?he was born (.+)\sin ([a-z,\.\s]+)\s+to\s+(.+?)\sand\s(.+?)\./i) { } |
| 100 | T | F | elsif ($text =~ /[^\b]S?he was born\s*(?:on\s+)?([A-Z][a-z]+ \d{1,2}, \d{4})[,\s]+(?:in\s+)([^,]+)?/i) { } |
| 727 | 50 | T | F | if (my $location = _extract_location($1)) |
| 730 | 50 | T | F | if (my $dt = _extract_date($2)) |
| 739 | 50 | T | F | if (my $dt = "DateTime::Format::Text"->parse_datetime($1)) |
| 747 | 50 | T | F | if ($mother =~ /(.+)\s+\((.+)\)\s+(.+)/) |
| 750 | 50 | T | F | if ($father =~ /(.+?)\.\s\s/) |
| 757 | 50 | T | F | if ($text =~ /survived by (his|her) (father|mother)[\s,;]/i) |
| 761 | 50 | T | F | if (my $dt = _extract_date($1)) |
| 764 | 50 | T | F | if ($2) |
| 770 | 100 | T | F | if ($text =~ /\bpassed away\b.*?\b(?:on\s+)?([A-Z]+ \d{1,2}, \d{4})/i) |
| 772 | 50 | T | F | if (my $dt = _extract_date($1)) |
| 778 | 100 | T | F | if ($text =~ /,\s(\d{1,3}), of\s/) |
| 779 | 50 | T | F | if ($1 < 110) |
| 785 | 100 | T | F | if ($text =~ /\b(?:passed away|died)\b([a-z0-9\s,]+)\sat\s+(.+?)\./i) |
| 787 | 50 | T | F | if ($place =~ /(.+)\s+on\s+([A-Z]+ \d{1,2}, \d{4})/i) { } |
| 100 | T | F | elsif ($place =~ /(.+)\son\s(.+)/) { } |
| 792 | 50 | T | F | if (my $dt = _extract_date($2)) |
| 803 | 50 | T | F | if defined $family{$_} |
| 807 | 100 | T | F | if (ref $family{$key} eq "ARRAY") |
| 809 | 100 | T | F | if (@{$family{$key};} == 0) |
| 815 | 100 | T | F | unless scalar keys %family |
| 826 | 50 | T | F | unless ref $data eq "HASH" |
| 831 | 100 | T | F | if (ref $val eq 'ARRAY') { } |
| 100 | T | F | elsif (ref $val eq 'HASH') { } |
| 836 | 100 | T | F | if (ref $item eq 'HASH' and exists $item->{'name'}) { } |
| 851 | 100 | T | F | if (exists $val->{'name'}) |
| 870 | 50 | T | F | if $dt and not $@ |
| 877 | 50 | T | F | unless ($geocoder) |
| 879 | 50 | T | F | if ($@) |
| 888 | 0 | T | F | unless scalar @locations |
| 892 | 0 | T | F | if (ref $result) |