| line |
true |
false |
branch |
|
103
|
0 |
12 |
unless exists $$args{$keys} |
|
110
|
1 |
0 |
if ($$args{'Files'}) |
|
150
|
0 |
0 |
if ($keys eq 'Files') |
|
153
|
0 |
0 |
if $$args{$keys} |
|
212
|
1 |
12 |
if (/MaxAge/) |
|
213
|
0 |
1 |
if ($$args{'MaxAge'} < 0) |
|
219
|
1 |
11 |
if (/NumLines/) |
|
220
|
0 |
1 |
if ($$args{'NumLines'} < 0) |
|
226
|
1 |
10 |
if (/OutputPrefix/) |
|
227
|
0 |
1 |
unless ($$args{'OutputPrefix'} =~ /^(p|f|t|tg|tc|pt|ptg|ptc|ft|ftg|ftc|tp|tpg|tpc|tf|tfg|tfc)$/) |
|
228
|
0 |
0 |
unless $$args{'OutputPrefix'} |
|
234
|
2 |
8 |
if (/Pattern/) |
|
235
|
0 |
2 |
unless $$args{'Pattern'} |
|
237
|
0 |
2 |
if (ref $$args{'Pattern'} ne 'ARRAY' and not -f $$args{'Pattern'}) |
|
243
|
0 |
8 |
if (/ExceptPattern/) |
|
244
|
0 |
0 |
unless $$args{'ExceptPattern'} |
|
245
|
0 |
0 |
if (ref $$args{'ExceptPattern'} ne 'ARRAY' and not -f $$args{'ExceptPattern'}) |
|
251
|
1 |
7 |
if (/Debug/) |
|
252
|
0 |
1 |
unless ($$args{'Debug'} =~ /^[0|1]$/) |
|
258
|
1 |
6 |
if (/ScanForFiles/) |
|
259
|
0 |
1 |
if ($$args{'ScanForFiles'} < 0) |
|
265
|
1 |
5 |
if (/RemoveDuplicate/) |
|
266
|
0 |
1 |
unless ($$args{'RemoveDuplicate'} =~ /^[0|1]$/) |
|
272
|
1 |
4 |
if (/Function/) |
|
273
|
0 |
1 |
if (ref $$args{'Function'} ne 'CODE') |
|
274
|
0 |
0 |
unless $$args{'Function'} |
|
280
|
1 |
3 |
if (/Files/) |
|
281
|
0 |
1 |
unless $$args{'Files'} |
|
282
|
0 |
1 |
unless ($$args{'Files'}) |
|
288
|
1 |
2 |
if (/LastRun_File/) |
|
289
|
1 |
0 |
unless $$args{'LastRun_File'} |
|
291
|
0 |
0 |
unless (-f $$args{'LastRun_File'}) |
|
297
|
0 |
2 |
if (/DO_MD5_Check/) |
|
298
|
0 |
0 |
unless ($$args{'DO_MD5_Check'} =~ /^[0|1]$/) |
|
314
|
0 |
1 |
unless my $argvref = shift() |
|
315
|
0 |
1 |
unless my $params = shift() |
|
316
|
0 |
1 |
unless my $arglist = shift() |
|
319
|
1 |
0 |
if (ref $argvref eq 'HASH') { } |
|
324
|
6 |
0 |
if (exists $$params{$param}) |
|
329
|
6 |
0 |
if ($var ne '') |
|
335
|
0 |
0 |
unless (exists $$params{$param}) |
|
344
|
0 |
0 |
unless defined $var |
|
348
|
0 |
0 |
if ($var ne '') { } |
|
|
0 |
0 |
elsif (not exists $$params{$param}) { } |
|
349
|
0 |
0 |
$i <= $#$argvref ? : |
|
362
|
6 |
6 |
if ($var ne '' and not exists $args{$param}) |
|
385
|
0 |
1 |
if (%Attribute) |
|
394
|
0 |
1 |
if (%Attribute) |
|
395
|
0 |
0 |
if $FileHash{$FILE} |
|
400
|
1 |
0 |
stat $FILE ? : |
|
401
|
0 |
1 |
$File::Tail::Multi::st_size < 42 ? : |
|
485
|
0 |
1 |
if (-d $FILE) { } |
|
486
|
0 |
0 |
if $File::Tail::Multi::DEBUG |
|
488
|
0 |
0 |
if (defined $d) |
|
491
|
0 |
0 |
if (-T $file) |
|
508
|
0 |
1 |
unless ($FILE =~ m[^/] or $MSWin32) |
|
509
|
0 |
0 |
if $File::Tail::Multi::DEBUG |
|
512
|
0 |
1 |
unless ($FILE =~ /^\w:/ or $FILE =~ m[^//] or not $MSWin32) |
|
513
|
0 |
0 |
if $File::Tail::Multi::DEBUG |
|
519
|
0 |
1 |
unless stat $FILE |
|
525
|
0 |
1 |
if (exists $path_file{$key} and not $MSWin32) |
|
526
|
0 |
0 |
if $File::Tail::Multi::DEBUG |
|
527
|
0 |
0 |
if $File::Tail::Multi::DEBUG |
|
533
|
1 |
0 |
if (-T $FILE) { } |
|
537
|
0 |
0 |
if $File::Tail::Multi::DEBUG |
|
560
|
0 |
0 |
if ($$rFD{'ScanForFiles'} and $File::Tail::Multi::LastScan + $$rFD{'ScanForFiles'} * 60 < $PresentTime or $File::Tail::Multi::FileAttributeChanged) |
|
563
|
0 |
0 |
if $File::Tail::Multi::DEBUG |
|
572
|
0 |
0 |
if ($File::Tail::Multi::DEBUG) |
|
588
|
0 |
0 |
if ($$FH{'exist'} and $$FH{'open'}) |
|
589
|
0 |
0 |
if (defined $$FH{'fh'}) |
|
594
|
0 |
0 |
if defined $File::Tail::Multi::LastRun_File |
|
596
|
0 |
0 |
if ($$FH{'stat'}{'mtime'} < $PresentTime - $$rFD{'MaxAge'} * 60) |
|
607
|
0 |
0 |
if $$rFD{'Pattern'} |
|
610
|
0 |
0 |
if $$rFD{'ExceptPattern'} |
|
613
|
0 |
0 |
if $$rFD{'RemoveDuplicate'} |
|
616
|
0 |
0 |
if $$rFD{'OutputPrefix'} |
|
619
|
0 |
0 |
if ($$rFD{'Function'}) |
|
645
|
0 |
1 |
if ($$rFD{'ScanForFiles'} and $File::Tail::Multi::LastScan + $$rFD{'ScanForFiles'} * 60 < $PresentTime or $File::Tail::Multi::FileAttributeChanged) |
|
648
|
0 |
0 |
if $File::Tail::Multi::DEBUG |
|
657
|
0 |
1 |
if ($File::Tail::Multi::DEBUG) |
|
673
|
1 |
0 |
if ($$FH{'exist'} and $$FH{'open'}) |
|
674
|
1 |
0 |
if (defined $$FH{'fh'}) |
|
679
|
0 |
1 |
if defined $File::Tail::Multi::LastRun_File |
|
681
|
1 |
0 |
if ($$FH{'stat'}{'mtime'} < $PresentTime - $$rFD{'MaxAge'} * 60) |
|
690
|
1 |
0 |
if $$rFD{'Pattern'} |
|
693
|
1 |
0 |
if $$rFD{'ExceptPattern'} |
|
696
|
1 |
0 |
if $$rFD{'RemoveDuplicate'} |
|
699
|
1 |
0 |
if $$rFD{'OutputPrefix'} |
|
702
|
1 |
0 |
if ($$rFD{'Function'}) |
|
740
|
0 |
0 |
if ($tail_file eq $fileName) |
|
761
|
0 |
0 |
if ($tail_file eq $fileName) |
|
831
|
0 |
0 |
if ($$FH{'FileState'} != $$FH{'LastState'}) { } |
|
861
|
2 |
0 |
if (ref $r_listofpatterns eq 'ARRAY') { } |
|
870
|
0 |
0 |
if (-f $r_listofpatterns) { } |
|
875
|
0 |
0 |
unless stat $patternfile |
|
879
|
0 |
0 |
if /^#/ |
|
880
|
0 |
0 |
if /^\s*$/ |
|
932
|
0 |
1 |
if ($$rFD{'OutputPrefix'} =~ /g/) |
|
936
|
0 |
1 |
if ($$rFD{'OutputPrefix'} =~ /c/) |
|
942
|
0 |
10 |
if $TmpOutputPrefix eq 'p' |
|
944
|
0 |
10 |
if $TmpOutputPrefix eq 'f' |
|
946
|
0 |
10 |
if $TmpOutputPrefix eq 't' |
|
948
|
0 |
10 |
if $TmpOutputPrefix eq 'pt' |
|
950
|
0 |
10 |
if $TmpOutputPrefix eq 'tp' |
|
952
|
10 |
0 |
if $TmpOutputPrefix eq 'ft' |
|
954
|
0 |
10 |
if $TmpOutputPrefix eq 'tf' |
|
973
|
1 |
0 |
unless defined $pattern_sub |
|
977
|
11 |
42 |
if &$pattern_sub($LINE) |
|
994
|
1 |
0 |
unless defined $exceptpattern_sub |
|
998
|
10 |
1 |
unless &$exceptpattern_sub($LINE) |
|
1133
|
0 |
1 |
if ($FS == 0) |
|
1136
|
0 |
1 |
if ($FS == 2 or $FS == 4 or $FS == 6) |
|
1140
|
0 |
1 |
if ($FS == 1 or $FS == 3 or $FS == 5 or $FS == 7) |
|
1144
|
1 |
0 |
if ($FS == 8 or $FS == 14) |
|
1147
|
1 |
0 |
if (defined $$FH{'fh'}) |
|
1153
|
0 |
0 |
if ($FS == 9) |
|
1156
|
0 |
0 |
if (defined $$FH{'fh'}) |
|
1161
|
0 |
0 |
if ($FS == 12) |
|
1163
|
0 |
0 |
if ($$FH{'open'}) |
|
1168
|
0 |
0 |
if ($FS == 10 or $FS == 11 or $FS == 13 or $FS == 15) |
|
1170
|
0 |
0 |
if ($$FH{'open'}) |
|
1179
|
0 |
1 |
if $File::Tail::Multi::DEBUG |
|
1198
|
0 |
0 |
if ($$FH{'LastMtime'} == $$FH{'stat'}{'mtime'} and $$FH{'stat'}{'mtime'} < $PresentTime - $$rFD{'MaxAge'} * 60 and $$FH{'open'}) |
|
1201
|
0 |
0 |
if defined $$FH{'fh'} |
|
1206
|
0 |
0 |
if ($$FH{'LastMtime'} == $$FH{'stat'}{'mtime'}) |
|
1209
|
0 |
0 |
if (not $$FH{'open'} and $$FH{'LastMtime'} < $$FH{'stat'}{'mtime'}) |
|
1230
|
1 |
0 |
stat($$FH{'name'}) ? : |
|
1231
|
0 |
1 |
unless $$FH{'exist'} |
|
1255
|
0 |
10 |
if $File::Tail::Multi::TC |
|
1256
|
0 |
10 |
$File::Tail::Multi::GMT ? : |
|
1278
|
0 |
0 |
if ($$rFD{'Debug'}) { } |
|
1296
|
0 |
0 |
unless defined $$FH{'fh'} |
|
1297
|
0 |
0 |
if $File::Tail::Multi::DEBUG |
|
1317
|
4 |
0 |
if (defined $$FH{'online'}) |
|
1341
|
0 |
1 |
if ($NewState > 15) |
|
1368
|
0 |
1 |
if ($seekbacklines < 0) { } |
|
|
0 |
1 |
elsif ($seekbacklines > 0) { } |
|
1378
|
1 |
0 |
if ($$FH{'LastState'} == 8) { } |
|
1380
|
0 |
1 |
if defined $File::Tail::Multi::LastRun_File |
|
1381
|
1 |
0 |
if (int $$FH{'lastrun_stat'}{'pos'} <= int $$FH{'stat'}{'size'} and $$FH{'lastrun_stat'}{'pos'} ne '') |
|
1398
|
0 |
0 |
if $seekbacklines != 0 |
|
1422
|
0 |
0 |
unless (exists $$rFD{$attribute}) |
|
1425
|
0 |
0 |
if ($attribute eq 'Files') |
|
1429
|
0 |
0 |
if (@_) { } |
|
1448
|
0 |
0 |
if (-e "$File::Tail::Multi::LastRun_File") |
|
1449
|
0 |
0 |
unless open my $curat_fh, '<', $File::Tail::Multi::LastRun_File |
|
1456
|
0 |
0 |
if ($logged_name eq $$FH{'name'}) { } |
|
1462
|
0 |
0 |
if $logged_ino ne $$FH{'stat'}{'ino'} |
|
1468
|
0 |
0 |
if ($File::Tail::Multi::DO_MD5_Check) |
|
1469
|
0 |
0 |
unless defined $md5_len and $md5_len |
|
1470
|
0 |
0 |
if not defined $md5_chksum && $md5_chksum |
|
1487
|
0 |
0 |
if (-e "$File::Tail::Multi::LastRun_File") |
|
1488
|
0 |
0 |
unless open my $curat_fh, '<', $File::Tail::Multi::LastRun_File |
|
1495
|
0 |
0 |
if ($logged_name eq $$FH{'name'}) |
|
1502
|
0 |
0 |
if $found == -1 |
|
1506
|
0 |
0 |
unless open my $curpos_fh, '>', $File::Tail::Multi::LastRun_File |
|
1523
|
0 |
0 |
unless $File::Tail::Multi::DO_MD5_Check |