Condition Coverage

blib/lib/Text/DoubleMetaphone_PP.pm
Criterion Covered Total %
condition 0 273 0.0


and 3 conditions

line !l l&&!r l&&r condition
35 0 0 0 length $pm < 4 and length $sm < 4
38 0 0 0 $c + 1 == $last and substr($_[0], $c, 2) =~ /\x{1ce}u/i
58 0 0 0 $c > 1 and not &is_vowel($_[0], $c - 2)
0 0 0 $c > 1 and not &is_vowel($_[0], $c - 2) and substr($_[0], $c - 1, 3) =~ /ach/i
0 0 0 not substr($_[0], $c + 2, 1) =~ /i/i and !(substr($_[0], $c + 2, 1) =~ /e/i) || substr($_[0], $c - 2, 6) =~ /bacher|macher/i
0 0 0 $c > 1 and not &is_vowel($_[0], $c - 2) and substr($_[0], $c - 1, 3) =~ /ach/i and (not substr($_[0], $c + 2, 1) =~ /i/i and !(substr($_[0], $c + 2, 1) =~ /e/i) || substr($_[0], $c - 2, 6) =~ /bacher|macher/i)
0 0 0 $c == 0 and substr($_[0], $c, 6) =~ /caesar/i
0 0 0 substr($_[0], $c, 2) =~ /cz/i and not substr($_[0], $c - 2, 4) =~ /wicz/i
0 0 0 $c == 1 && substr($_[0], 0, 1) =~ /m/i
0 0 0 substr($_[0], $c, 2) =~ /cc/i and not $c == 1 && substr($_[0], 0, 1) =~ /m/i
75 0 0 0 $c > 0 and substr($_[0], $c, 4) =~ /chae/i
0 0 0 $c == 0 and substr($_[0], $c + 1, 5) =~ /harac|haris/i || substr($_[0], $c + 1, 3) =~ /hor|hym|hia|hem/i
0 0 0 $c == 0 and substr($_[0], $c + 1, 5) =~ /harac|haris/i || substr($_[0], $c + 1, 3) =~ /hor|hym|hia|hem/i and not substr($_[0], 0, 5) =~ /chore/i
0 0 0 substr($_[0], $c - 1, 1) =~ /a|e|o|u/i || $c == 0 and substr($_[0], $c + 2, 1) =~ /l|r|n|m|b|h|f|v|w| /i || $c + 2 > $last
116 0 0 0 substr($_[0], $c + 2, 1) =~ /e|h|i/i and not substr($_[0], $c + 2, 2) =~ /hu/i
117 0 0 0 $c == 1 and substr($_[0], $c - 1, 1) =~ /a/i
151 0 0 0 substr($_[0], $c + 1, 1) =~ /c|k|q/i and not substr($_[0], $c + 1, 2) =~ /ce|ce/i
188 0 0 0 substr($_[0], $c + 1, 2) =~ /li/i and not &slavo_germanic($_[0])
0 0 0 $c == 0 and substr($_[0], $c + 1, 1) =~ /y/i || substr($_[0], $c + 1, 2) =~ /es|ep|eb|el|ey|ib|il|in|ie|ei|er/i
0 0 0 substr($_[0], $c + 1, 2) =~ /er/i || substr($_[0], $c + 1, 1) =~ /y/i and not substr($_[0], 0, 6) =~ /danger|ranger|manger/i
0 0 0 substr($_[0], $c + 1, 2) =~ /er/i || substr($_[0], $c + 1, 1) =~ /y/i and not substr($_[0], 0, 6) =~ /danger|ranger|manger/i and not substr($_[0], $c - 1, 1) =~ /e|i/i
0 0 0 substr($_[0], $c + 1, 2) =~ /er/i || substr($_[0], $c + 1, 1) =~ /y/i and not substr($_[0], 0, 6) =~ /danger|ranger|manger/i and not substr($_[0], $c - 1, 1) =~ /e|i/i and not substr($_[0], $c - 1, 3) =~ /rgy|ogy/i
189 0 0 0 $c > 0 and not &is_vowel($_[0], $c - 1)
0 0 0 $c < 3 and $c == 0
0 0 0 $c > 1 and substr($_[0], $c - 2, 1) =~ /b|d|h/i
0 0 0 $c > 2 and substr($_[0], $c - 3, 1) =~ /b|d|h/i
0 0 0 $c > 3 and substr($_[0], $c - 4, 1) =~ /b|h/i
207 0 0 0 $c > 2 and substr($_[0], $c - 1, 1) =~ /u/i
0 0 0 $c > 2 and substr($_[0], $c - 1, 1) =~ /u/i and substr($_[0], $c - 3, 1) =~ /c|g|l|r|t/i
0 0 0 $c > 0 and not substr($_[0], $c - 1, 1) =~ /i/i
218 0 0 0 $c == 1 and &is_vowel($_[0], 0)
0 0 0 $c == 1 and &is_vowel($_[0], 0) and not &slavo_germanic($_[0])
269 0 0 0 $c == 0 || &is_vowel($_[0], $c - 1) and &is_vowel($_[0], $c + 1)
277 0 0 0 $c == 0 and not substr($_[0], $c, 4) =~ /jose/i
278 0 0 0 $c == 0 and substr($_[0], $c + 4, 1) eq ' ' || $c + 4 > $last
296 0 0 0 &is_vowel($_[0], $c - 1) and not &slavo_germanic($_[0])
0 0 0 &is_vowel($_[0], $c - 1) and not &slavo_germanic($_[0]) and substr($_[0], $c + 1, 1) =~ /a/i || substr($_[0], $c + 1, 1) =~ /o/i
327 0 0 0 $c == $length - 3 and substr($_[0], $c - 1, 4) =~ /illo|illa|alle/i
0 0 0 substr($_[0], $last - 1, 2) =~ /as|os/i || substr($_[0], $last, 1) =~ /a|o/i and substr($_[0], $c - 1, 4) =~ /alle/i
343 0 0 0 substr($_[0], $c - 1, 3) =~ /umb/i and $c + 1 == $last || substr($_[0], $c + 2, 2) =~ /er/i
387 0 0 0 $c == $last and not &slavo_germanic($_[0])
0 0 0 $c == $last and not &slavo_germanic($_[0]) and substr($_[0], $c - 2, 2) =~ /ie/i
0 0 0 $c == $last and not &slavo_germanic($_[0]) and substr($_[0], $c - 2, 2) =~ /ie/i and not substr($_[0], $c - 4, 2) =~ /me|ma/i
404 0 0 0 $c == 0 and substr($_[0], $c, 5) =~ /sugar/i
0 0 0 $c == 0 and substr($_[0], $c + 1, 1) =~ /m|n|l|w/i
448 0 0 0 $c == 0 and not &is_vowel($_[0], 3)
0 0 0 $c == 0 and not &is_vowel($_[0], 3) and not substr($_[0], 3, 1) =~ /w/i
467 0 0 0 $c == $last and substr($_[0], $c - 2, 2) =~ /ai|oi/i
521 0 0 0 $c == 0 and &is_vowel($_[0], $c + 1) || substr($_[0], $c, 2) =~ /wh/i
530 0 0 0 $c == $last and &is_vowel($_[0], $c - 1)
544 0 0 0 $c == $last and substr($_[0], $c - 3, 3) =~ /iau|eau/i || substr($_[0], $c - 2, 2) =~ /au|ou/i
560 0 0 0 &slavo_germanic($_[0]) and $c > 0
0 0 0 &slavo_germanic($_[0]) and $c > 0 and not substr($_[0], $c - 1, 1) =~ /t/i

or 3 conditions

line l !l&&r !l&&!r condition
58 0 0 0 !(substr($_[0], $c + 2, 1) =~ /e/i) || substr($_[0], $c - 2, 6) =~ /bacher|macher/i
75 0 0 0 substr($_[0], $c + 1, 5) =~ /harac|haris/i || substr($_[0], $c + 1, 3) =~ /hor|hym|hia|hem/i
0 0 0 substr($_[0], 0, 4) =~ /van |von /i or substr($_[0], 0, 3) =~ /sch/i
0 0 0 substr($_[0], 0, 4) =~ /van |von /i or substr($_[0], 0, 3) =~ /sch/i or substr($_[0], $c - 2, 6) =~ /orches|archit|orchid/i
0 0 0 substr($_[0], 0, 4) =~ /van |von /i or substr($_[0], 0, 3) =~ /sch/i or substr($_[0], $c - 2, 6) =~ /orches|archit|orchid/i or substr($_[0], $c + 2, 1) =~ /t|s/i
0 0 0 substr($_[0], $c - 1, 1) =~ /a|e|o|u/i || $c == 0
0 0 0 substr($_[0], $c + 2, 1) =~ /l|r|n|m|b|h|f|v|w| /i || $c + 2 > $last
0 0 0 substr($_[0], 0, 4) =~ /van |von /i or substr($_[0], 0, 3) =~ /sch/i or substr($_[0], $c - 2, 6) =~ /orches|archit|orchid/i or substr($_[0], $c + 2, 1) =~ /t|s/i or substr($_[0], $c - 1, 1) =~ /a|e|o|u/i || $c == 0 and substr($_[0], $c + 2, 1) =~ /l|r|n|m|b|h|f|v|w| /i || $c + 2 > $last
117 0 0 0 $c == 1 and substr($_[0], $c - 1, 1) =~ /a/i or substr($_[0], $c - 1, 5) =~ /uccee|ucces/i
188 0 0 0 substr($_[0], $c + 1, 1) =~ /y/i || substr($_[0], $c + 1, 2) =~ /es|ep|eb|el|ey|ib|il|in|ie|ei|er/i
0 0 0 substr($_[0], $c + 1, 2) =~ /er/i || substr($_[0], $c + 1, 1) =~ /y/i
0 0 0 substr($_[0], $c + 1, 1) =~ /e|i|y/i or substr($_[0], $c - 1, 4) =~ /aggi|oggi/i
189 0 0 0 $c > 1 and substr($_[0], $c - 2, 1) =~ /b|d|h/i or $c > 2 and substr($_[0], $c - 3, 1) =~ /b|d|h/i
0 0 0 $c > 1 and substr($_[0], $c - 2, 1) =~ /b|d|h/i or $c > 2 and substr($_[0], $c - 3, 1) =~ /b|d|h/i or $c > 3 and substr($_[0], $c - 4, 1) =~ /b|h/i
218 0 0 0 substr($_[0], $c + 2, 2) =~ /ey/i || substr($_[0], $c + 1, 1) =~ /y/i || &slavo_germanic($_[0])
247 0 0 0 substr($_[0], 0, 4) =~ /van |von /i or substr($_[0], 0, 3) =~ /sch/i
0 0 0 substr($_[0], 0, 4) =~ /van |von /i or substr($_[0], 0, 3) =~ /sch/i or substr($_[0], $c + 1, 2) =~ /et/i
269 0 0 0 $c == 0 || &is_vowel($_[0], $c - 1)
277 0 0 0 substr($_[0], $c, 4) =~ /jose/i or substr($_[0], 0, 4) =~ /san /i
278 0 0 0 substr($_[0], $c + 4, 1) eq ' ' || $c + 4 > $last
0 0 0 $c == 0 and substr($_[0], $c + 4, 1) eq ' ' || $c + 4 > $last or substr($_[0], 0, 4) =~ /san /i
296 0 0 0 substr($_[0], $c + 1, 1) =~ /a/i || substr($_[0], $c + 1, 1) =~ /o/i
304 0 0 0 substr($_[0], $c + 1, 1) =~ /l|t|k|s|n|m|b|z/i or substr($_[0], $c - 1, 1) =~ /s|k|l/i
327 0 0 0 substr($_[0], $last - 1, 2) =~ /as|os/i || substr($_[0], $last, 1) =~ /a|o/i
0 0 0 $c == $length - 3 and substr($_[0], $c - 1, 4) =~ /illo|illa|alle/i or substr($_[0], $last - 1, 2) =~ /as|os/i || substr($_[0], $last, 1) =~ /a|o/i and substr($_[0], $c - 1, 4) =~ /alle/i
343 0 0 0 $c + 1 == $last || substr($_[0], $c + 2, 2) =~ /er/i
0 0 0 substr($_[0], $c - 1, 3) =~ /umb/i and $c + 1 == $last || substr($_[0], $c + 2, 2) =~ /er/i or substr($_[0], $c + 1, 1) =~ /m/i
404 0 0 0 substr($_[0], $c, 3) =~ /sio|sia/i or substr($_[0], $c, 4) =~ /sian/i
0 0 0 $c == 0 and substr($_[0], $c + 1, 1) =~ /m|n|l|w/i or substr($_[0], $c + 1, 1) =~ /z/i
480 0 0 0 substr($_[0], $c, 2) =~ /th/i or substr($_[0], $c, 3) =~ /tth/i
489 0 0 0 substr($_[0], $c + 2, 2) =~ /om|am/i or substr($_[0], 0, 4) =~ /van |von /i
0 0 0 substr($_[0], $c + 2, 2) =~ /om|am/i or substr($_[0], 0, 4) =~ /van |von /i or substr($_[0], 0, 3) =~ /sch/i
521 0 0 0 &is_vowel($_[0], $c + 1) || substr($_[0], $c, 2) =~ /wh/i
530 0 0 0 $c == $last and &is_vowel($_[0], $c - 1) or substr($_[0], $c - 1, 5) =~ /ewski|ewsky|owski|owsky/i
0 0 0 $c == $last and &is_vowel($_[0], $c - 1) or substr($_[0], $c - 1, 5) =~ /ewski|ewsky|owski|owsky/i or substr($_[0], 0, 3) =~ /sch/i
544 0 0 0 substr($_[0], $c - 3, 3) =~ /iau|eau/i || substr($_[0], $c - 2, 2) =~ /au|ou/i
560 0 0 0 substr($_[0], $c + 1, 2) =~ /zo|zi|za/i or &slavo_germanic($_[0]) and $c > 0 and not substr($_[0], $c - 1, 1) =~ /t/i
585 0 0 0 $_[1] < 0 or $_[1] >= length $_[0]