Condition Coverage

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


and 3 conditions

line !l l&&!r l&&r condition
74 95 0 0 defined $_[0] and $_[0] =~ /\A [0-9] /msx
369 9 0 0 @_ and not wantarray
607 8 8 230 $pos < CORE::length $str and $pos <= $position
798 100 0 404 defined $replacement[$i] and $replacement[$i] ne ''
8 0 28 defined $replacement[-1] and $replacement[-1] ne ''
844 38 0 4 defined $last_transliterated and $replacement[-1] eq $last_transliterated
891 122 18 144 defined $last_transliterated and $tr{$x} eq $last_transliterated
1062 0 0 8 defined $1 and CORE::substr($&, 0, CORE::length $1) eq $1
1070 0 0 53 defined $1 and CORE::substr($&, -CORE::length($1)) eq $1
1091 0 0 7 defined $1 and CORE::substr($&, -CORE::length($1)) eq $1
1291 4 298 30 ($modifier) = $pattern =~ /\A \(\?\^? (.+?) [\)\-\:] /msx and $modifier =~ /x/msx
1325 299 12 21 defined $_[2] and $_[2] >= 1
1331 15 6 42 --$limit > 0 and $string =~ s/\A((?:$mb::x)$substring_quantifier)$pattern//
1351 21 6 6 defined $_[2] and $_[2] >= 1
1362 0 305 0 scalar @split >= 1 and $split[-1] eq ''
1386 16 0 0 @_ and not wantarray
1387 4 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1408 32 0 0 @_ and not wantarray
1409 6 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1430 32 0 0 @_ and not wantarray
1431 6 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1452 16 0 0 @_ and not wantarray
1453 6 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1475 2 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1479 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
1507 14 0 0 @_ and not wantarray
1508 6 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1526 17 0 0 @_ and not wantarray
1527 2 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1548 14 0 0 @_ and not wantarray
1549 2 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1570 3 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1599 2 0 0 $OSNAME =~ /MSWin32/ && $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1615 32 0 0 @_ and not wantarray
1616 6 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1637 16 0 0 @_ and not wantarray
1638 3 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1659 1 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1683 89 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1703 32 0 0 @_ and not wantarray
1704 6 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1725 36 0 0 @_ and not wantarray
1726 24 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1747 16 0 0 @_ and not wantarray
1748 3 0 0 $OSNAME =~ /MSWin32/ and $script_encoding =~ /\A (?: sjis | gbk | uhc | big5 | big5hkscs | gb18030 ) \z/msx
1921 12381 9216 122 $term and m[\G ( %= | % | &&= | && | &\.= | &\. | &= | & | \*\*= | \*\* | \*= | \* | \.\.\. | \.\. | \.= | \. | //= | // | /= | / | <=> | << | <= | < | \? ) ]cgmsx
3541 559 329 24 @sbcs && @xbcs
329 0 559 !@sbcs && @xbcs
0 0 329 @sbcs && !@xbcs
4199 136 1092 2 @sbcs && @xbcs
1092 0 136 !@sbcs && @xbcs
0 0 1092 @sbcs && !@xbcs

or 2 conditions

line l !l condition
185 0 0 $module_path ||= '.'
196 0 0 $module_path ||= '.'
434 8 8 $position ||= 0
643 190 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]'
694 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()
705 95 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()
1812 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'
1833 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'
1858 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'
1890 0 95 {'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'
2905 541 0 {'(', ')', '{', '}', '[', ']', '<', '>'}->{$open_bracket} || die()
3136 1118 0 {'(', ')', '{', '}', '[', ']', '<', '>'}->{$open_bracket} || die()
3206 85 0 {'(', ')', '{', '}', '[', ']', '<', '>'}->{$open_bracket} || die()
3798 564 0 {'(', ')', '{', '}', '[', ']', '<', '>'}->{$open_bracket} || die()

or 3 conditions

line l !l&&r !l&&!r condition
154 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.08-0/t/../lib/mb.pm'
278 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.08-0/t/../lib/mb.pm'
522 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.08-0/t/../lib/mb.pm'
604 8 8 0 $position ||= CORE::length($str) - 1
732 1 1 48 $_[1] < -1 * scalar(@x) or 1 * scalar(@x) < $_[1]
1177 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
1211 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
1361 299 6 27 not defined $_[2] or $_[2] == 0