| 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 |
| 208 | 50 | T | F | if defined $person{$_} |
| 222 | 50 | T | F | if ($phrase =~ /^((?:\w+\s*,\s*)+\w+),?\s*and\s+(\w+)\s+(\w+)$/) |
| 231 | 50 | T | F | if ($phrase =~ /^([\w\s]+?)\s+and\s+(\w+)\s+(\w+)$/) |
| 242 | 50 | T | F | if ($phrase =~ /(.+?),\s*(\w+)\s+and\s+(\w+)/) { } |
| 248 | 50 | T | F | if defined $_ |
| 255 | 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) { } |
| 273 | 100 | T | F | if ($text =~ /\bdaughter,?\s([a-z]+)/i) |
| 276 | 100 | T | F | if ($text =~ /\bgranddaughter,?\s([a-z]+)/i) |
| 279 | 50 | T | F | if @children |
| 280 | 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 | 50 | 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) |
| 409 | 50 | T | F | if defined $_ |
| 413 | 100 | T | F | if ($family{'grandchildren'} and scalar @{$family{'grandchildren'};}) { } |
| 417 | 50 | T | F | if ($family{'grandchildren'}[0] =~ /brothers/) |
| 418 | 0 | T | F | unless (exists $family{'brothers'}) |
| 427 | 100 | T | F | if (not defined $family{'grandchildren'} or $#{$family{"grandchildren"};} <= 0) |
| 432 | 100 | T | F | if ($grandchildren_str) |
| 435 | 100 | T | F | if (scalar @grandchildren) { } |
| 100 | T | F | elsif ($text =~ /grandm\w+\s/) { } |
| 445 | 100 | T | F | if ($text =~ /predeceased by (his|her) sisters?\s*([^;\.]+);?/i) { } |
| 453 | 100 | T | F | if ($name eq "Mrs") |
| 454 | 50 | T | F | if ($text =~ / sister,\s*Mrs\.\s+([A-Z][a-zA-Z]+\s+[A-Z][a-zA-Z]+)/) { } |
| 460 | 50 | T | F | if ($name) |
| 461 | 50 | T | F | $text =~ /\bpredeceased by.*?$name/i ? : |
| 469 | 100 | T | F | unless (exists $family{'sisters'}) |
| 470 | 100 | T | F | if ($text =~ /\stwo\ssisters,\s*(.*?)\sand\s(.*?)[;:]/s) |
| 473 | 50 | T | F | if ($sister =~ /Mrs\.\s(.+?),\s(.+)/) { } |
| 477 | 50 | T | F | if ($name =~ /(\w+)\s+(\w+)/) { } |
| 501 | 100 | T | F | if ($family{'sisters'}) |
| 513 | 50 | T | F | if ($text =~ /predeceased by (his|her) brothers?\s*([^;\.]+);?/i) { } |
| 521 | 50 | T | F | $text =~ /\bpredeceased by.*?$1/i ? : |
| 526 | 50 | T | F | unless ($family{'brothers'} or $family{'sisters'} or $family{'siblings'}) |
| 527 | 100 | T | F | if ($text =~ /sister of ([a-z]+) and ([a-z]+)/i) |
| 534 | 100 | T | F | unless (exists $family{'brothers'}) |
| 535 | 100 | T | F | if ($text =~ /\sbrothers,\s*(.*?)[;\.]/s) |
| 537 | 50 | T | F | if ($brothers_text =~ /, all of (.+)$/) { } |
| 541 | 100 | T | F | if ($son =~ /(\w+)\s+and\s+(\w+)/) { } |
| 573 | 50 | T | F | if (not exists $family{'brothers'} and $text =~ /\b(?:two|three|four)\s+brothers?,\s*(.+?)(?:,\s*a\s+(?:sister|half-sister)|;)/i) |
| 579 | 0 | T | F | if ($brothers_text =~ /\band\b/) |
| 591 | 0 | T | F | if scalar @brothers |
| 595 | 100 | T | F | $text =~ /as well as several nieces and nephews/i ? : |
| 598 | 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) { } |
| 606 | 50 | T | F | if ($mother =~ /(.+)\s+\((.+)\)\s+(.+)/) |
| 621 | 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) { } |
| 662 | 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") |
| 667 | 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) { } |
| 679 | 50 | T | F | if ($family{'funeral'}{'date'} =~ /(.+?)\.\s{2,}/) |
| 681 | 50 | T | F | if ($family{'funeral'}{'date'} =~ /(.+?)\sat\s(.+)/) |
| 699 | 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) { } |
| 705 | 50 | T | F | if (scalar($family{'children_in_law'} == 0)) |
| 711 | 100 | T | F | if ($text =~ /niece of\s+([A-Za-z]+)/) |
| 717 | 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) { } |
| 724 | 50 | T | F | if (my $location = _extract_location($1)) |
| 727 | 50 | T | F | if (my $dt = _extract_date($2)) |
| 736 | 50 | T | F | if (my $dt = "DateTime::Format::Text"->parse_datetime($1)) |
| 744 | 50 | T | F | if ($mother =~ /(.+)\s+\((.+)\)\s+(.+)/) |
| 747 | 50 | T | F | if ($father =~ /(.+?)\.\s\s/) |
| 754 | 50 | T | F | if ($text =~ /survived by (his|her) (father|mother)[\s,;]/i) |
| 758 | 50 | T | F | if (my $dt = _extract_date($1)) |
| 761 | 50 | T | F | if ($2) |
| 767 | 100 | T | F | if ($text =~ /\bpassed away\b.*?\b(?:on\s+)?([A-Z]+ \d{1,2}, \d{4})/i) |
| 769 | 50 | T | F | if (my $dt = _extract_date($1)) |
| 775 | 100 | T | F | if ($text =~ /,\s(\d{1,3}), of\s/) |
| 776 | 50 | T | F | if ($1 < 110) |
| 782 | 100 | T | F | if ($text =~ /\b(?:passed away|died)\b([a-z0-9\s,]+)\sat\s+(.+?)\./i) |
| 784 | 50 | T | F | if ($place =~ /(.+)\s+on\s+([A-Z]+ \d{1,2}, \d{4})/i) { } |
| 100 | T | F | elsif ($place =~ /(.+)\son\s(.+)/) { } |
| 789 | 50 | T | F | if (my $dt = _extract_date($2)) |
| 800 | 50 | T | F | if defined $family{$_} |
| 804 | 100 | T | F | if (ref $family{$key} eq "ARRAY") |
| 806 | 100 | T | F | if (@{$family{$key};} == 0) |
| 812 | 50 | T | F | unless scalar keys %family |
| 824 | 50 | T | F | if $dt and not $@ |
| 831 | 50 | T | F | unless ($geocoder) |
| 833 | 50 | T | F | if ($@) |
| 842 | 0 | T | F | unless scalar @locations |
| 846 | 0 | T | F | if (ref $result) |