| line | true | false | branch | 
 
| 33 | 0 | 5 | unless defined $str or $str =~ /^\bjson\b|\bxml\b$/i | 
 
| 40 | 3 | 2 | unless defined $str and exists $$SHARING{$str} | 
 
| 47 | 0 | 0 | unless defined $str and $str =~ /^[0|1]$/ | 
 
| 54 | 9 | 10 | unless defined $num and $num =~ /^\d+$/ | 
 
| 61 | 0 | 17 | if defined $str and $str =~ /^\d+$/ | 
 
| 68 | 6 | 9 | if ($str =~ /^((?:19|20)\d\d)\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$/) { } | 
 
| 70 | 0 | 6 | if ($3 == 31 and $2 == 4 || $2 == 6 || $2 == 9 || $2 == 11) { } | 
 
|  | 0 | 6 | elsif ($3 >= 30 and $2 == 2) { } | 
 
|  | 0 | 6 | elsif ($2 == 2 and $3 == 29 and not $1 % 4 == 0 && ($1 % 100 != 0 || $1 % 400 == 0)) { } | 
 
| 91 | 3 | 3 | unless defined $str and $str =~ m[^(http(?:s)?\://[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*\.[a-zA-Z]{2,6}(?:/?|(?:/[\w\-]+)*)(?:/?|/\w+\.[a-zA-Z]{2,4}(?:\?[\w]+\=[\w\-]+)?)?(?:\&[\w]+\=[\w\-]+)*)$] | 
 
| 99 | 3 | 13 | unless defined $str and $str =~ /^\d{0,11}\.?\d{0,2}$/ | 
 
| 130 | 6 | 65 | unless defined $values | 
 
| 132 | 11 | 54 | unless ref $values eq 'HASH' | 
 
| 140 | 0 | 158 | unless exists $$FIELDS{$field} | 
 
| 143 | 5 | 153 | if $required and not exists $$values{$field} | 
 
| 146 | 2 | 151 | if $required and not defined $$values{$field} | 
 
| 149 | 70 | 81 | if defined $$values{$field} | 
 
| 154 | 8 | 21 | unless grep /\b$value\b/, @$keys | 
 
| 155 | 4 | 17 | unless defined $$values{$value} |