|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
155
 | 
 18  | 
 0  | 
 if (defined $$self{'PrintErrFunc'} and $$self{'PrintErrFunc'})  | 
 
| 
174
 | 
 0  | 
 967  | 
 if (not defined $name) { }  | 
 
| 
177
 | 
 25  | 
 942  | 
 if ($name =~ /^(.+)\[(\d+)\]$/) { }  | 
 
| 
178
 | 
 2  | 
 23  | 
 if (not defined $$self{'VarHash'}{$1}) { }  | 
 
| 
 | 
 1  | 
 22  | 
 elsif ($2 > $$self{'ArrayMaxIndex'}) { }  | 
 
| 
 | 
 0  | 
 22  | 
 elsif ($2 > @{$$self{'VarHash'}{$1};}) { }  | 
 
| 
179
 | 
 1  | 
 1  | 
 if ($2 == 0) { }  | 
 
| 
219
 | 
 0  | 
 0  | 
 unless exists $$self{'VarHash'}{$name}  | 
 
| 
229
 | 
 0  | 
 0  | 
 exists $$self{'VarHash'}{$name} ? :  | 
 
| 
256
 | 
 44  | 
 4602  | 
 if ($GenSemiColon) { }  | 
 
| 
 | 
 1479  | 
 3123  | 
 elsif ($EndInput) { }  | 
 
| 
 | 
 741  | 
 2382  | 
 elsif ($expr =~ s/^(((\d+(\.\d*)?)|(\.\d+))([ed][-+]?\d+)?)//i) { }  | 
 
| 
 | 
 104  | 
 2278  | 
 elsif ($expr =~ /^(['"])/ and $expr =~ s/^($1)([^$1]*)$1//) { }  | 
 
| 
 | 
 44  | 
 2234  | 
 elsif ($expr =~ s/^}//) { }  | 
 
| 
 | 
 1340  | 
 894  | 
 elsif ($expr =~ s"^(\+\+|--|:=|>=|<=|==|<>|!=|&&|\|\||lt\b|gt\b|le\b|ge\b|eq\b|ne\b|\*\*|[-~!./*%+,<>\?:\(\)\[\]{])"") { }  | 
 
| 
 | 
 50  | 
 844  | 
 elsif ($expr =~ s/^(if|while)//) { }  | 
 
| 
 | 
 166  | 
 678  | 
 elsif ($expr =~ s/^;//) { }  | 
 
| 
 | 
 63  | 
 615  | 
 elsif ($expr =~ s/^([_a-zA-Z][\w]*)\(/(/) { }  | 
 
| 
 | 
 614  | 
 1  | 
 elsif ($expr =~ s/^\$?([_a-z]\w*)//i) { }  | 
 
| 
265
 | 
 980  | 
 499  | 
 if ($endAlready) { }  | 
 
| 
283
 | 
 3  | 
 1  | 
 length $1 == 1 ? :  | 
 
| 
 | 
 85  | 
 19  | 
 if $1 eq '"'  | 
 
| 
296
 | 
 69  | 
 1271  | 
 if ($operlast and defined $MonOp{$1})  | 
 
| 
300
 | 
 25  | 
 1315  | 
 if (defined $MonVarOp{$1})  | 
 
| 
304
 | 
 1108  | 
 232  | 
 unless $1 eq ')' or $1 eq ']'  | 
 
| 
317
 | 
 1  | 
 62  | 
 unless ($InFuns{$1})  | 
 
| 
327
 | 
 0  | 
 0  | 
 defined $2 ? :  | 
 
| 
 | 
 614  | 
 0  | 
 defined $1 ? :  | 
 
| 
335
 | 
 490  | 
 4154  | 
 if (not @operators and $EndInput)  | 
 
| 
346
 | 
 0  | 
 5264  | 
 if ($EndInput and @operators == 0)  | 
 
| 
347
 | 
 0  | 
 0  | 
 if (@tree != 1)  | 
 
| 
348
 | 
 0  | 
 0  | 
 $#tree == -1 ? :  | 
 
| 
356
 | 
 1459  | 
 3315  | 
 if ($newt and $$newt{'oper'} eq 'var' || $$newt{'oper'} eq 'const')  | 
 
| 
357
 | 
 1051  | 
 408  | 
 if @operators  | 
 
| 
364
 | 
 185  | 
 2046  | 
 if ($newt and @operators and $operators[-1]{'oper'} eq '(' and $$newt{'oper'} eq ')')  | 
 
| 
365
 | 
 0  | 
 185  | 
 if ($EndInput and $#operators != 0)  | 
 
| 
375
 | 
 0  | 
 490  | 
 unless ($newt or $EndInput)  | 
 
| 
376
 | 
 0  | 
 0  | 
 if ($loopb++ > 40)  | 
 
| 
384
 | 
 3130  | 
 490  | 
 $newt ? :  | 
 
| 
389
 | 
 2046  | 
 1574  | 
 if ($newt and @operators)  | 
 
| 
390
 | 
 0  | 
 2046  | 
 unless defined $NewOpPrec  | 
 
| 
391
 | 
 0  | 
 2046  | 
 unless defined $OperPrec{$operators[-1]{'oper'}}[0]  | 
 
| 
393
 | 
 1887  | 
 1243  | 
 if ($newt and !@operators || @operators && $NewOpPrec > $OperPrec{$operators[-1]{'oper'}}[0])  | 
 
| 
394
 | 
 803  | 
 1084  | 
 if @operators  | 
 
| 
400
 | 
 34  | 
 8  | 
 if (@operators and $operators[-1]{'oper'} eq 'flow' and $newt and $$newt{'oper'} ne ';' and $$newt{'oper'} ne 'EOF' and $$newt{'oper'} ne '}')  | 
 
| 
401
 | 
 34  | 
 0  | 
 if @operators  | 
 
| 
408
 | 
 1699  | 
 0  | 
 if (@operators and $NewOpPrec <= $OperPrec{$operators[-1]{'oper'}}[0])  | 
 
| 
412
 | 
 78  | 
 1621  | 
 if ($operators[-1]{'oper'} eq ';' and not defined $operators[-1]{'after'})  | 
 
| 
418
 | 
 43  | 
 1088  | 
 if (@operators and $newt and $operators[-1]{'oper'} eq '{' and $$newt{'oper'} eq '}')  | 
 
| 
422
 | 
 9  | 
 34  | 
 unless @operators and $operators[-1]{'oper'} eq 'flow'  | 
 
| 
432
 | 
 205  | 
 1407  | 
 $func | $monop | $flow ? :  | 
 
| 
 | 
 499  | 
 1113  | 
 unless (@tree >= ($func | $monop | $flow ? 1 : 2))  | 
 
| 
434
 | 
 488  | 
 11  | 
 if $$op{'oper'} eq ';' or $$op{'oper'} eq 'EOF'  | 
 
| 
436
 | 
 1  | 
 10  | 
 $expr ne '' ? :  | 
 
| 
443
 | 
 960  | 
 153  | 
 unless ($monop or $func)  | 
 
| 
447
 | 
 3  | 
 1110  | 
 if $$op{'oper'} eq 'EOF'  | 
 
| 
450
 | 
 45  | 
 1031  | 
 if $newt and $$op{'oper'} eq '[' and $$newt{'oper'} eq ']'  | 
 
| 
453
 | 
 82  | 
 1031  | 
 unless $newt  | 
 
| 
473
 | 
 13  | 
 2552  | 
 unless defined $tree  | 
 
| 
475
 | 
 1445  | 
 1107  | 
 if $$tree{'oper'} eq 'var' or $$tree{'oper'} eq 'const'  | 
 
| 
479
 | 
 0  | 
 1107  | 
 if (defined $MatchOp{$$tree{'oper'}} or defined $MatchOpClose{$$tree{'oper'}})  | 
 
| 
484
 | 
 1  | 
 23  | 
 if (defined $MonVarOp{$$tree{'oper'}} and !defined($$tree{'right'}) || $$tree{'right'}{'oper'} ne '[' && $$tree{'right'}{'oper'} ne 'var')  | 
 
| 
489
 | 
 1  | 
 1106  | 
 if ($$tree{'oper'} eq '?' and $$tree{'right'}{'oper'} ne ':')  | 
 
| 
490
 | 
 1  | 
 0  | 
 unless $ChkErrs  | 
 
| 
494
 | 
 1046  | 
 61  | 
 if ($$tree{'oper'} ne 'func')  | 
 
| 
495
 | 
 0  | 
 1046  | 
 unless (not defined $$tree{'left'} and defined $$tree{'monop'} or $self->CheckTree($$tree{'left'}))  | 
 
| 
496
 | 
 0  | 
 0  | 
 defined $$tree{'monop'} ? :  | 
 
| 
 | 
 0  | 
 0  | 
 unless $ChkErrs  | 
 
| 
500
 | 
 0  | 
 1107  | 
 unless (&CheckTree($self, $$tree{'right'}))  | 
 
| 
501
 | 
 0  | 
 0  | 
 defined $$tree{'monop'} ? :  | 
 
| 
 | 
 0  | 
 0  | 
 unless $ChkErrs  | 
 
| 
505
 | 
 61  | 
 1046  | 
 if ($$tree{'oper'} eq 'func')  | 
 
| 
507
 | 
 0  | 
 0  | 
 if ($fname eq 'pop' || $fname eq 'shift' || $fname eq 'push' || $fname eq 'unshift' and !defined($$tree{'right'}{'oper'}) || $$tree{'right'}{'oper'} ne 'var' && $$tree{'right'}{'oper'} ne ',' && (!defined($$tree{'right'}{'left'}{'oper'}) || $$tree{'right'}{'left'}{'oper'} ne 'var'))  | 
 
| 
514
 | 
 2  | 
 1105  | 
 unless $ok  | 
 
| 
515
 | 
 1105  | 
 2  | 
 $ok ? :  | 
 
| 
535
 | 
 0  | 
 0  | 
 unless defined $dl  | 
 
| 
538
 | 
 0  | 
 0  | 
 unless (defined $nodp)  | 
 
| 
546
 | 
 0  | 
 0  | 
 if ($$nodp{'oper'} eq 'var') { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($$nodp{'oper'} eq 'const') { }  | 
 
| 
582
 | 
 0  | 
 1  | 
 unless $tree  | 
 
| 
609
 | 
 0  | 
 3504  | 
 unless defined $tree  | 
 
| 
613
 | 
 1024  | 
 2480  | 
 if $oper eq 'const'  | 
 
| 
614
 | 
 372  | 
 560  | 
 $wantlv ? :  | 
 
| 
 | 
 932  | 
 1548  | 
 if $oper eq 'var'  | 
 
| 
617
 | 
 61  | 
 1487  | 
 if $oper eq 'func'  | 
 
| 
620
 | 
 113  | 
 1374  | 
 if ($oper eq '++' or $oper eq '--')  | 
 
| 
623
 | 
 7  | 
 106  | 
 if ($$tree{'right'}{'oper'} eq '[') { }  | 
 
| 
632
 | 
 0  | 
 7  | 
 unless ($index =~ /^-?\d+$/)  | 
 
| 
637
 | 
 4  | 
 3  | 
 if $index < 0  | 
 
| 
639
 | 
 2  | 
 5  | 
 if $index < 0 or $index > @left  | 
 
| 
649
 | 
 70  | 
 41  | 
 $oper eq '++' ? :  | 
 
| 
657
 | 
 68  | 
 1306  | 
 if (not defined $$tree{'left'} and defined $$tree{'monop'})  | 
 
| 
663
 | 
 0  | 
 68  | 
 unless (defined $right)  | 
 
| 
664
 | 
 0  | 
 0  | 
 unless ($$self{'AutoInit'})  | 
 
| 
671
 | 
 0  | 
 68  | 
 unless ($right =~ /^([-+]?)0*([\d.]+)([ef][-+]?\d*|)$/i)  | 
 
| 
677
 | 
 57  | 
 11  | 
 if $oper eq '-'  | 
 
| 
678
 | 
 11  | 
 0  | 
 if $oper eq '+'  | 
 
| 
679
 | 
 0  | 
 0  | 
 if $oper eq '!'  | 
 
| 
680
 | 
 0  | 
 0  | 
 if $oper eq '~'  | 
 
| 
689
 | 
 352  | 
 954  | 
 if ($oper eq ':=')  | 
 
| 
694
 | 
 307  | 
 45  | 
 if $#right <= 0  | 
 
| 
699
 | 
 1  | 
 50  | 
 if $i > $#right  | 
 
| 
701
 | 
 43  | 
 7  | 
 if ($i == $#left and $i != $#right)  | 
 
| 
712
 | 
 77  | 
 877  | 
 if ($oper eq 'flow')  | 
 
| 
713
 | 
 55  | 
 22  | 
 if ($$tree{'flow'} eq 'if')  | 
 
| 
716
 | 
 34  | 
 21  | 
 $left[-1] ? :  | 
 
| 
718
 | 
 22  | 
 0  | 
 if ($$tree{'flow'} eq 'while')  | 
 
| 
720
 | 
 0  | 
 22  | 
 unless ($$self{'PermitLoops'})  | 
 
| 
725
 | 
 0  | 
 121  | 
 if ($$self{'MaxLoopCount'} and ++$$self{'LoopCount'} > $$self{'MaxLoopCount'})  | 
 
| 
731
 | 
 22  | 
 99  | 
 unless $left[-1]  | 
 
| 
742
 | 
 0  | 
 2  | 
 if (not defined $left and $oper ne ',' and $oper ne '.' and $oper ne ';')  | 
 
| 
743
 | 
 0  | 
 0  | 
 unless ($$self{'AutoInit'})  | 
 
| 
751
 | 
 5  | 
 7  | 
 $left ? :  | 
 
| 
 | 
 12  | 
 865  | 
 if $oper eq '?'  | 
 
| 
755
 | 
 11  | 
 854  | 
 if $oper eq ',' and $wantlv  | 
 
| 
758
 | 
 10  | 
 844  | 
 if ($oper eq '&&' or $oper eq '||')  | 
 
| 
759
 | 
 2  | 
 8  | 
 if $oper eq '&&' and not $left  | 
 
| 
760
 | 
 2  | 
 6  | 
 if $oper eq '||' and $left  | 
 
| 
764
 | 
 3  | 
 3  | 
 $right[$#right] ? :  | 
 
| 
771
 | 
 116  | 
 728  | 
 if $oper eq ','  | 
 
| 
772
 | 
 210  | 
 518  | 
 if $oper eq ';'  | 
 
| 
776
 | 
 38  | 
 480  | 
 if ($oper eq '[')  | 
 
| 
778
 | 
 0  | 
 38  | 
 unless $right =~ /^-?\d+$/  | 
 
| 
780
 | 
 20  | 
 18  | 
 if $wantlv  | 
 
| 
783
 | 
 11  | 
 27  | 
 if $index < 0  | 
 
| 
785
 | 
 20  | 
 18  | 
 if $wantlv  | 
 
| 
789
 | 
 2  | 
 16  | 
 if $index < 0 or $index > @left  | 
 
| 
798
 | 
 14  | 
 466  | 
 if ($oper eq '.')  | 
 
| 
800
 | 
 2  | 
 12  | 
 unless defined $left  | 
 
| 
801
 | 
 0  | 
 14  | 
 unless defined $right  | 
 
| 
802
 | 
 0  | 
 14  | 
 if (length($left) + length($right) > $$self{'StringMaxLength'})  | 
 
| 
809
 | 
 0  | 
 466  | 
 unless (defined $right)  | 
 
| 
810
 | 
 0  | 
 0  | 
 unless ($$self{'AutoInit'})  | 
 
| 
817
 | 
 2  | 
 2  | 
 $left lt $right ? :  | 
 
| 
 | 
 4  | 
 462  | 
 if $oper eq 'lt'  | 
 
| 
818
 | 
 1  | 
 5  | 
 $left gt $right ? :  | 
 
| 
 | 
 6  | 
 456  | 
 if $oper eq 'gt'  | 
 
| 
819
 | 
 2  | 
 1  | 
 $left le $right ? :  | 
 
| 
 | 
 3  | 
 453  | 
 if $oper eq 'le'  | 
 
| 
820
 | 
 2  | 
 1  | 
 $left ge $right ? :  | 
 
| 
 | 
 3  | 
 450  | 
 if $oper eq 'ge'  | 
 
| 
821
 | 
 1  | 
 1  | 
 $left eq $right ? :  | 
 
| 
 | 
 2  | 
 448  | 
 if $oper eq 'eq'  | 
 
| 
822
 | 
 2  | 
 2  | 
 $left ne $right ? :  | 
 
| 
 | 
 4  | 
 444  | 
 if $oper eq 'ne'  | 
 
| 
824
 | 
 0  | 
 444  | 
 if $oper eq ':'  | 
 
| 
830
 | 
 0  | 
 444  | 
 if (not $left =~ /^([-+]?)0*([\d.]+)([ef][-+]?\d*|)/i) { }  | 
 
| 
831
 | 
 0  | 
 0  | 
 unless ($$self{'AutoInit'} and $left eq '')  | 
 
| 
840
 | 
 1  | 
 443  | 
 if (not $right =~ /^([-+]?)0*([\d.]+)([ef][-+]?\d*|)/i) { }  | 
 
| 
841
 | 
 1  | 
 0  | 
 unless ($$self{'AutoInit'} and $right eq '')  | 
 
| 
850
 | 
 69  | 
 374  | 
 if $oper eq '*'  | 
 
| 
851
 | 
 12  | 
 362  | 
 if $oper eq '/'  | 
 
| 
852
 | 
 22  | 
 340  | 
 if $oper eq '%'  | 
 
| 
853
 | 
 120  | 
 220  | 
 if $oper eq '+'  | 
 
| 
854
 | 
 35  | 
 185  | 
 if $oper eq '-'  | 
 
| 
855
 | 
 4  | 
 181  | 
 if $oper eq '**'  | 
 
| 
858
 | 
 64  | 
 17  | 
 $left > $right ? :  | 
 
| 
 | 
 81  | 
 100  | 
 if $oper eq '>'  | 
 
| 
859
 | 
 40  | 
 12  | 
 $left < $right ? :  | 
 
| 
 | 
 52  | 
 48  | 
 if $oper eq '<'  | 
 
| 
860
 | 
 2  | 
 1  | 
 $left >= $right ? :  | 
 
| 
 | 
 3  | 
 45  | 
 if $oper eq '>='  | 
 
| 
861
 | 
 2  | 
 1  | 
 $left <= $right ? :  | 
 
| 
 | 
 3  | 
 42  | 
 if $oper eq '<='  | 
 
| 
862
 | 
 21  | 
 16  | 
 $left == $right ? :  | 
 
| 
 | 
 37  | 
 5  | 
 if $oper eq '=='  | 
 
| 
863
 | 
 2  | 
 1  | 
 $left != $right ? :  | 
 
| 
 | 
 3  | 
 2  | 
 if $oper eq '!='  | 
 
| 
864
 | 
 1  | 
 1  | 
 $left != $right ? :  | 
 
| 
 | 
 2  | 
 0  | 
 if $oper eq '<>'  | 
 
| 
876
 | 
 0  | 
 61  | 
 if defined $$self{'ExtraFuncEval'} and defined($res = $$self{'ExtraFuncEval'}(@_))  | 
 
| 
880
 | 
 6  | 
 55  | 
 if $fname eq 'int'  | 
 
| 
881
 | 
 6  | 
 49  | 
 if $fname eq 'abs'  | 
 
| 
884
 | 
 4  | 
 7  | 
 $$self{'RoundNegatives'} ? :  | 
 
| 
 | 
 11  | 
 38  | 
 if $fname eq 'round'  | 
 
| 
886
 | 
 4  | 
 34  | 
 if $fname eq 'split'  | 
 
| 
887
 | 
 3  | 
 31  | 
 if $fname eq 'join'  | 
 
| 
890
 | 
 1  | 
 30  | 
 if ($fname eq 'printf')  | 
 
| 
891
 | 
 0  | 
 1  | 
 unless ($$self{'EnablePrintf'})  | 
 
| 
896
 | 
 1  | 
 0  | 
 if length $s <= $$self{'StringMaxLength'}  | 
 
| 
901
 | 
 1  | 
 29  | 
 if $fname eq 'mktime'  | 
 
| 
902
 | 
 2  | 
 27  | 
 if $fname eq 'strftime'  | 
 
| 
903
 | 
 2  | 
 25  | 
 if $fname eq 'localtime'  | 
 
| 
905
 | 
 2  | 
 23  | 
 if $fname eq 'defined'  | 
 
| 
907
 | 
 7  | 
 16  | 
 if ($fname eq 'pop' or $fname eq 'shift')  | 
 
| 
909
 | 
 6  | 
 1  | 
 $fname eq 'pop' ? :  | 
 
| 
915
 | 
 4  | 
 12  | 
 if ($fname eq 'push' or $fname eq 'unshift')  | 
 
| 
922
 | 
 1  | 
 3  | 
 $fname eq 'push' ? :  | 
 
| 
928
 | 
 1  | 
 11  | 
 if $fname eq 'strlen'  | 
 
| 
929
 | 
 7  | 
 4  | 
 if $fname eq 'count'  | 
 
| 
932
 | 
 4  | 
 0  | 
 if ($fname eq 'aindex')  | 
 
| 
935
 | 
 3  | 
 22  | 
 if $val eq $arglist[$inx]  | 
 
| 
984
 | 
 0  | 
 8  | 
 unless exists $$self{$_[0]}  | 
 
| 
985
 | 
 0  | 
 8  | 
 unless defined $_[1]  |