Condition Coverage

lib/mb.pm
Criterion Covered Total %
condition 97 220 44.0


and 3 conditions

line !l l&&!r l&&r condition
71 94 0 0 defined $_[0] and $_[0] =~ /\A [0-9] /msx
344 3 0 0 @_ and not wantarray
582 8 8 230 $pos < CORE::length $str and $pos <= $position
773 100 0 404 defined $replacement[$i] and $replacement[$i] ne ''
8 0 28 defined $replacement[-1] and $replacement[-1] ne ''
819 38 0 4 defined $last_transliterated and $replacement[-1] eq $last_transliterated
866 122 18 144 defined $last_transliterated and $tr{$x} eq $last_transliterated
1037 0 0 8 defined $1 and CORE::substr($&, 0, CORE::length $1) eq $1
1045 0 0 53 defined $1 and CORE::substr($&, -CORE::length($1)) eq $1
1066 0 0 7 defined $1 and CORE::substr($&, -CORE::length($1)) eq $1
1266 4 298 30 ($modifier) = $pattern =~ /\A \(\?\^? (.+?) [\)\-\:] /msx and $modifier =~ /x/msx
1300 299 12 21 defined $_[2] and $_[2] >= 1
1306 15 6 42 --$limit > 0 and $string =~ s/\A((?:$mb::x)$substring_quantifier)$pattern//
1326 21 6 6 defined $_[2] and $_[2] >= 1
1337 0 305 0 scalar @split >= 1 and $split[-1] eq ''
1361 16 0 0 @_ and not wantarray
1362 2 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1383 32 0 0 @_ and not wantarray
1384 2 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1405 32 0 0 @_ and not wantarray
1406 2 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1427 16 0 0 @_ and not wantarray
1428 6 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1450 2 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1454 0 0 0 $script_encoding =~ /\A (?: sjis ) \z/msx and $_[0] =~ /\A $mb::x* [\x81-\x9F\xE0-\xFC][\x5C] \z/msx
0 0 0 $script_encoding =~ /\A (?: gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx and $_[0] =~ /\A $mb::x* [\x81-\xFE][\x5C] \z/msx
1482 16 0 0 @_ and not wantarray
1483 6 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1501 19 0 0 @_ and not wantarray
1502 2 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1523 16 0 0 @_ and not wantarray
1524 3 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1545 3 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1574 2 0 0 $OSNAME =~ /MSWin32/ && $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1590 32 0 0 @_ and not wantarray
1591 2 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1612 16 0 0 @_ and not wantarray
1613 1 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1634 1 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1658 9 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1678 32 0 0 @_ and not wantarray
1679 2 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1700 36 0 0 @_ and not wantarray
1701 22 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1722 16 0 0 @_ and not wantarray
1723 1 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1897 10184 3126 122 $term and m[\G ( %= | % | &&= | && | &\.= | &\. | &= | & | \*\*= | \*\* | \*= | \* | \.\.\. | \.\. | \.= | \. | //= | // | /= | / | <=> | << | <= | < | \? ) ]cgmsx
3499 559 329 24 @sbcs && @xbcs
329 0 559 !@sbcs && @xbcs
0 0 329 @sbcs && !@xbcs
4157 136 1092 2 @sbcs && @xbcs
1092 0 136 !@sbcs && @xbcs
0 0 1092 @sbcs && !@xbcs

or 2 conditions

line l !l condition
174 0 0 $module_path ||= '.'
185 0 0 $module_path ||= '.'
409 8 8 $position ||= 0
618 188 0 {'sjis', '(?>[\\x81-\\x9F\\xE0-\\xFC][\\x00-\\xFF]|[\\x80-\\xFF])', 'gbk', '(?>[\\x81-\\xFE][\\x00-\\xFF])', 'uhc', '(?>[\\x81-\\xFE][\\x00-\\xFF])', 'big5', '(?>[\\x81-\\xFE][\\x00-\\xFF])', 'big5hkscs', '(?>[\\x81-\\xFE][\\x00-\\xFF])', 'eucjp', '(?>[\\xA1-\\xFE][\\x00-\\xFF])', 'gb18030', '(?>[\\x81-\\xFE][\\x30-\\x39][\\x81-\\xFE][\\x30-\\x39]|[\\x81-\\xFE][\\x00-\\xFF])', 'utf8', '(?>[\\xE1-\\xEC][\\x80-\\xBF][\\x80-\\xBF]|[\\xC2-\\xDF][\\x80-\\xBF]|[\\xEE-\\xEF][\\x80-\\xBF][\\x80-\\xBF]|[\\xF0-\\xF0][\\x90-\\xBF][\\x80-\\xBF][\\x80-\\xBF]|[\\xE0-\\xE0][\\xA0-\\xBF][\\x80-\\xBF]|[\\xED-\\xED][\\x80-\\x9F][\\x80-\\xBF]|[\\xF1-\\xF3][\\x80-\\xBF][\\x80-\\xBF][\\x80-\\xBF]|[\\xF4-\\xF4][\\x80-\\x8F][\\x80-\\xBF][\\x80-\\xBF])'}->{$script_encoding} || '[\\x80-\\xFF]'
669 0 0 {'sjis', qr/(?(?=.{0,65534}\z)(?:$mb::x)*?|(?(?=[^\x81-\x9F\xE0-\xFC]+\z).*?|.*?[^\x81-\x9F\xE0-\xFC](?>[\x81-\x9F\xE0-\xFC][\x81-\x9F\xE0-\xFC])*?))/msx, 'eucjp', qr/(?(?=.{0,65534}\z)(?:$mb::x)*?|(?(?=[^\xA1-\xFE\xA1-\xFE]+\z).*?|.*?[^\xA1-\xFE\xA1-\xFE](?>[\xA1-\xFE\xA1-\xFE][\xA1-\xFE\xA1-\xFE])*?))/msx, 'gbk', qr/(?(?=.{0,65534}\z)(?:$mb::x)*?|(?(?=[^\x81-\xFE\x81-\xFE]+\z).*?|.*?[^\x81-\xFE\x81-\xFE](?>[\x81-\xFE\x81-\xFE][\x81-\xFE\x81-\xFE])*?))/msx, 'uhc', qr/(?(?=.{0,65534}\z)(?:$mb::x)*?|(?(?=[^\x81-\xFE\x81-\xFE]+\z).*?|.*?[^\x81-\xFE\x81-\xFE](?>[\x81-\xFE\x81-\xFE][\x81-\xFE\x81-\xFE])*?))/msx, 'big5', qr/(?(?=.{0,65534}\z)(?:$mb::x)*?|(?(?=[^\x81-\xFE\x81-\xFE]+\z).*?|.*?[^\x81-\xFE\x81-\xFE](?>[\x81-\xFE\x81-\xFE][\x81-\xFE\x81-\xFE])*?))/msx, 'big5hkscs', qr/(?(?=.{0,65534}\z)(?:$mb::x)*?|(?(?=[^\x81-\xFE\x81-\xFE]+\z).*?|.*?[^\x81-\xFE\x81-\xFE](?>[\x81-\xFE\x81-\xFE][\x81-\xFE\x81-\xFE])*?))/msx, 'gb18030', qr/(?(?=.{0,65534}\z)(?:$mb::x)*?|(?(?=[^\x81-\xFE\x81-\xFE]+\z).*?|.*?[^\x81-\xFE\x81-\xFE](?>[\x81-\xFE\x81-\xFE][\x81-\xFE\x81-\xFE])*?))/msx}->{$script_encoding} || die()
680 94 0 {'sjis', qr/(?(?=.{0,32766}\z)(?:$mb::x)*?|(?(?=[^\x81-\x9F\xE0-\xFC]+\z).*?|.*?[^\x81-\x9F\xE0-\xFC](?>[\x81-\x9F\xE0-\xFC][\x81-\x9F\xE0-\xFC])*?))/msx, 'eucjp', qr/(?(?=.{0,32766}\z)(?:$mb::x)*?|(?(?=[^\xA1-\xFE\xA1-\xFE]+\z).*?|.*?[^\xA1-\xFE\xA1-\xFE](?>[\xA1-\xFE\xA1-\xFE][\xA1-\xFE\xA1-\xFE])*?))/msx, 'gbk', qr/(?(?=.{0,32766}\z)(?:$mb::x)*?|(?(?=[^\x81-\xFE\x81-\xFE]+\z).*?|.*?[^\x81-\xFE\x81-\xFE](?>[\x81-\xFE\x81-\xFE][\x81-\xFE\x81-\xFE])*?))/msx, 'uhc', qr/(?(?=.{0,32766}\z)(?:$mb::x)*?|(?(?=[^\x81-\xFE\x81-\xFE]+\z).*?|.*?[^\x81-\xFE\x81-\xFE](?>[\x81-\xFE\x81-\xFE][\x81-\xFE\x81-\xFE])*?))/msx, 'big5', qr/(?(?=.{0,32766}\z)(?:$mb::x)*?|(?(?=[^\x81-\xFE\x81-\xFE]+\z).*?|.*?[^\x81-\xFE\x81-\xFE](?>[\x81-\xFE\x81-\xFE][\x81-\xFE\x81-\xFE])*?))/msx, 'big5hkscs', qr/(?(?=.{0,32766}\z)(?:$mb::x)*?|(?(?=[^\x81-\xFE\x81-\xFE]+\z).*?|.*?[^\x81-\xFE\x81-\xFE](?>[\x81-\xFE\x81-\xFE][\x81-\xFE\x81-\xFE])*?))/msx, 'gb18030', qr/(?(?=.{0,32766}\z)(?:$mb::x)*?|(?(?=[^\x81-\xFE\x81-\xFE]+\z).*?|.*?[^\x81-\xFE\x81-\xFE](?>[\x81-\xFE\x81-\xFE][\x81-\xFE\x81-\xFE])*?))/msx}->{$script_encoding} || die()
1787 0 0 {'ja_JP.PCK', 'sjis', 'ja', 'eucjp', 'japanese', 'eucjp', 'ja_JP.eucJP', 'eucjp', 'zh', 'gbk', 'zh.GBK', 'gbk', 'zh_CN.GBK', 'gbk', 'zh_CN.EUC', 'gbk', 'zh_CN.GB18030', 'gb18030', 'ko', 'uhc', 'ko_KR.EUC', 'uhc', 'zh_TW.BIG5', 'big5', 'zh_HK.BIG5HK', 'big5hkscs'}->{$LANG} || 'utf8'
1808 0 0 {'japanese', 'sjis', 'ja_JP.SJIS', 'sjis', 'japanese.euc', 'eucjp', 'ja_JP.eucJP', 'eucjp', 'zh_CN.hp15CN', 'gbk', 'zh_CN.gb18030', 'gb18030', 'ko_KR.eucKR', 'uhc', 'zh_TW.big5', 'big5', 'zh_HK.big5', 'big5hkscs', 'zh_HK.hkbig5', 'big5hkscs'}->{$LANG} || 'utf8'
1833 0 0 {'Ja_JP', 'sjis', 'Ja_JP.IBM-943', 'sjis', 'ja_JP', 'eucjp', 'ja_JP.IBM-eucJP', 'eucjp', 'zh_CN', 'gbk', 'zh_CN.IBM-eucCN', 'gbk', 'Zh_CN', 'gb18030', 'Zh_CN.GB18030', 'gb18030', 'ko_KR', 'uhc', 'ko_KR.IBM-eucKR', 'uhc', 'Zh_TW', 'big5', 'Zh_TW.big-5', 'big5', 'Zh_HK', 'big5hkscs', 'Zh_HK.BIG5-HKSCS', 'big5hkscs'}->{$LANG} || 'utf8'
1865 0 94 {'japanese', 'sjis', 'ja_JP.SJIS', 'sjis', 'ja_JP.mscode', 'sjis', 'ja', 'eucjp', 'japan', 'eucjp', 'japanese.euc', 'eucjp', 'Japanese-EUC', 'eucjp', 'ja_JP', 'eucjp', 'ja_JP.ujis', 'eucjp', 'ja_JP.eucJP', 'eucjp', 'ja_JP.AJEC', 'eucjp', 'ja_JP.EUC', 'eucjp', 'Jp_JP', 'eucjp', 'zh_CN.EUC', 'gbk', 'zh_CN.GB2312', 'gbk', 'zh_CN.hp15CN', 'gbk', 'zh_CN.gb18030', 'gb18030', 'ko_KR.eucKR', 'uhc', 'zh_TW.Big5', 'big5', 'zh_TW.big5', 'big5', 'zh_HK.big5', 'big5hkscs'}->{$LANG} || 'utf8'
2862 546 0 {'(', ')', '{', '}', '[', ']', '<', '>'}->{$open_bracket} || die()
3094 1118 0 {'(', ')', '{', '}', '[', ']', '<', '>'}->{$open_bracket} || die()
3164 85 0 {'(', ')', '{', '}', '[', ']', '<', '>'}->{$open_bracket} || die()
3756 564 0 {'(', ')', '{', '}', '[', ']', '<', '>'}->{$open_bracket} || die()

or 3 conditions

line l !l&&r !l&&!r condition
143 0 0 0 not -e $script_oo or -M $script_oo <= -M $ARGV[0]
0 0 0 not -e $script_oo or -M $script_oo <= -M $ARGV[0] or -M $script_oo <= -M '/root/.cpan/build/mb-0.06-0/t/../lib/mb.pm'
253 5 0 0 not -e $prefix_file_oo or -M $prefix_file_oo <= -M $prefix_file
5 0 0 not -e $prefix_file_oo or -M $prefix_file_oo <= -M $prefix_file or -M $prefix_file_oo <= -M '/root/.cpan/build/mb-0.06-0/t/../lib/mb.pm'
497 4 0 0 not -e $prefix_file_oo or -M $prefix_file_oo <= -M $prefix_file
4 0 0 not -e $prefix_file_oo or -M $prefix_file_oo <= -M $prefix_file or -M $prefix_file_oo <= -M '/root/.cpan/build/mb-0.06-0/t/../lib/mb.pm'
579 8 8 0 $position ||= CORE::length($str) - 1
707 1 1 48 $_[1] < -1 * scalar(@x) or 1 * scalar(@x) < $_[1]
1152 0 0 0 {'A', 'Aa', 'a', 'Aa', 'B', 'Bb', 'b', 'Bb', 'C', 'Cc', 'c', 'Cc', 'D', 'Dd', 'd', 'Dd', 'E', 'Ee', 'e', 'Ee', 'F', 'Ff', 'f', 'Ff', 'G', 'Gg', 'g', 'Gg', 'H', 'Hh', 'h', 'Hh', 'I', 'Ii', 'i', 'Ii', 'J', 'Jj', 'j', 'Jj', 'K', 'Kk', 'k', 'Kk', 'L', 'Ll', 'l', 'Ll', 'M', 'Mm', 'm', 'Mm', 'N', 'Nn', 'n', 'Nn', 'O', 'Oo', 'o', 'Oo', 'P', 'Pp', 'p', 'Pp', 'Q', 'Qq', 'q', 'Qq', 'R', 'Rr', 'r', 'Rr', 'S', 'Ss', 's', 'Ss', 'T', 'Tt', 't', 'Tt', 'U', 'Uu', 'u', 'Uu', 'V', 'Vv', 'v', 'Vv', 'W', 'Ww', 'w', 'Ww', 'X', 'Xx', 'x', 'Xx', 'Y', 'Yy', 'y', 'Yy', 'Z', 'Zz', 'z', 'Zz'}->{$element} || $element
1186 64 96 0 {'A', '[Aa]', 'a', '[Aa]', 'B', '[Bb]', 'b', '[Bb]', 'C', '[Cc]', 'c', '[Cc]', 'D', '[Dd]', 'd', '[Dd]', 'E', '[Ee]', 'e', '[Ee]', 'F', '[Ff]', 'f', '[Ff]', 'G', '[Gg]', 'g', '[Gg]', 'H', '[Hh]', 'h', '[Hh]', 'I', '[Ii]', 'i', '[Ii]', 'J', '[Jj]', 'j', '[Jj]', 'K', '[Kk]', 'k', '[Kk]', 'L', '[Ll]', 'l', '[Ll]', 'M', '[Mm]', 'm', '[Mm]', 'N', '[Nn]', 'n', '[Nn]', 'O', '[Oo]', 'o', '[Oo]', 'P', '[Pp]', 'p', '[Pp]', 'Q', '[Qq]', 'q', '[Qq]', 'R', '[Rr]', 'r', '[Rr]', 'S', '[Ss]', 's', '[Ss]', 'T', '[Tt]', 't', '[Tt]', 'U', '[Uu]', 'u', '[Uu]', 'V', '[Vv]', 'v', '[Vv]', 'W', '[Ww]', 'w', '[Ww]', 'X', '[Xx]', 'x', '[Xx]', 'Y', '[Yy]', 'y', '[Yy]', 'Z', '[Zz]', 'z', '[Zz]'}->{$element} || $element
1336 299 6 27 not defined $_[2] or $_[2] == 0