| line |
true |
false |
branch |
|
71
|
0 |
0 |
unless $l =~ /^\s*(?:METAR|TAF|SPECI)\s/i |
|
80
|
0 |
0 |
unless $l =~ /^\s*(?:METAR|TAF|SPECI)\s/i |
|
89
|
0 |
0 |
unless $l =~ /^\s*(?:METAR|TAF|SPECI)\s/i |
|
101
|
0 |
0 |
if ($line =~ /^~/) { } |
|
103
|
0 |
0 |
if ($subsection eq $section_name) { } |
|
130
|
0 |
0 |
if ($line =~ /^~/) { } |
|
132
|
0 |
0 |
if ($subsection eq $section_name) { } |
|
136
|
0 |
0 |
if $endTr |
|
145
|
0 |
0 |
if ($endTr) |
|
149
|
0 |
0 |
if ($line =~ /METAR|SPECI|TAF/) { } |
|
|
0 |
0 |
elsif ($line =~ /^Valid/) { } |
|
|
0 |
0 |
elsif ($line =~ /^Temporarily/) { } |
|
|
0 |
0 |
elsif ($line =~ /^Probability/) { } |
|
|
0 |
0 |
elsif ($line =~ /^Becoming/) { } |
|
|
0 |
0 |
elsif ($line =~ /^From/) { } |
|
|
0 |
0 |
elsif ($line =~ /^Until/) { } |
|
176
|
0 |
0 |
if $endTr |
|
178
|
0 |
0 |
if $decoded_data =~ /\302\260/ |
|
205
|
0 |
0 |
unless (length $l > 15) |
|
216
|
0 |
0 |
if ($t eq 'TAF') { } |
|
|
0 |
0 |
elsif ($t eq 'METAR' or $t eq 'SPECI') { } |
|
228
|
0 |
0 |
if ($self->{'taf'} and $tok[0] eq "AMD") |
|
235
|
0 |
0 |
if ($t =~ /^[A-Z]{4}$/) { } |
|
244
|
0 |
0 |
if (my($day, $time) = $t =~ /^(\d\d)(\d{4})Z?$/) { } |
|
254
|
0 |
0 |
if ($tok[0] eq 'AUTO') { } |
|
267
|
0 |
0 |
if ($self->{'taf'}) |
|
268
|
0 |
0 |
if (my($v_from_day, $v_from_hour, $v_to_day, $v_to_hour) = $tok[0] =~ m[^(\d{2})(\d{2})/(\d{2})(\d{2})$]) |
|
287
|
0 |
0 |
if $self->{'valid_from_day'} |
|
293
|
0 |
0 |
if ($t eq 'TEMPO' or $t eq 'BECMG') { } |
|
|
0 |
0 |
elsif ($ignore{$t}) { } |
|
|
0 |
0 |
elsif ($t eq 'NOSIG' or $t eq 'NSW') { } |
|
|
0 |
0 |
elsif ($t eq 'BKN') { } |
|
|
0 |
0 |
elsif ($clt{$t}) { } |
|
|
0 |
0 |
elsif ($t eq 'CAVOK') { } |
|
|
0 |
0 |
elsif ($t eq 'RMK') { } |
|
|
0 |
0 |
elsif (my($fromDay, $fromTime) = $t =~ /^FM(\d{2})(\d{4})$/) { } |
|
|
0 |
0 |
elsif (my($tilDay, $tilTime) = $t =~ /^TL(\d{2})(\d{4})$/) { } |
|
|
0 |
0 |
elsif (my($percent) = $t =~ /^PROB(\d\d)$/) { } |
|
|
0 |
0 |
elsif (my($sort, $dir) = $t =~ /^(RWY?|LDG)(\d\d[RLC]?)$/) { } |
|
|
0 |
0 |
elsif (my($wdir, $spd, $gust, $unit) = $t =~ /^(\d\d\d|VRB)(\d\d)(?:G(\d\d))?(KT|MPH|MPS|KMH)$/) { } |
|
|
0 |
0 |
elsif (my($u, $p, $punit) = $t =~ /^([QA])(?:NH)?(\d\d\d\d)(INS?)?$/) { } |
|
|
0 |
0 |
elsif ($t eq 'WS') { } |
|
|
0 |
0 |
elsif (my($top, $direction, $speed) = $t =~ m[^WS(\d{3})\/(\d{3})(\d+)KT$]) { } |
|
|
0 |
0 |
elsif (my($visibility, $mist) = $t =~ /^(\d\d\d\d[NSEW]{0,2})([A-Z][A-Z])?$/) { } |
|
|
0 |
0 |
elsif (($visibility) = $t =~ /^(\d+)KM$/) { } |
|
|
0 |
0 |
elsif (my($m) = $t =~ /^(\d)$/) { } |
|
|
0 |
0 |
elsif (my($lt, $mvisibility) = $t =~ m[^([MP])?(\d+(:?/\d)?)SM$]) { } |
|
|
0 |
0 |
elsif (my($rw, $rlt, $range, $vlt, $var, $runit, $tend) = $t =~ m[^R(\d\d[LRC]?)/([MP])?(\d\d\d\d)(?:([VMP]+)(\d\d\d\d))?(?:(FT)/?)?([UND])?$]) { } |
|
|
0 |
0 |
elsif (my($deg, $w) = $t =~ /^(\342\210\222|-|\+|VC)?((?:SH)?\S{0,4})$/) { } |
|
|
0 |
0 |
elsif (my($amt, $height, $cb) = $t =~ m[^(FEW|SCT|BKN|OVC|SKC|CLR|VV|///)(\d\d\d|///)(CB|TCU)?$]) { } |
|
|
0 |
0 |
elsif (my($ms, $t, $n, $d) = $t =~ m[^(M)?(\d\d)/(M)?(\d\d)?$]) { } |
|
294
|
0 |
0 |
if $ceiling < 100000 |
|
298
|
0 |
0 |
if (@tok and ($from_day, $from_hour, $to_day, $to_hour) = $tok[0] =~ m[^(\d\d)(\d\d)/(\d\d)(\d\d)$]) |
|
299
|
0 |
0 |
if ($self->{'taf'} and $from_hour >= 0 and $from_hour <= 24 and $to_hour >= 0 and $to_hour <= 24) { } |
|
336
|
0 |
0 |
if $ceiling < 100000 |
|
341
|
0 |
0 |
if $ceiling < 100000 |
|
347
|
0 |
0 |
if $ceiling < 100000 |
|
353
|
0 |
0 |
if $ceiling < 100000 |
|
357
|
0 |
0 |
if (@tok and ($from_day, $from_hour, $to_day, $to_hour) = $tok[0] =~ m[^(\d\d)(\d\d)/(\d\d)(\d\d)$]) |
|
358
|
0 |
0 |
if ($self->{'taf'} and $from_hour >= 0 and $from_hour <= 24 and $to_hour >= 0 and $to_hour <= 24) { } |
|
380
|
0 |
0 |
if (@tok and ($fromdir, $todir) = $tok[0] =~ /^(\d\d\d)V(\d\d\d)$/) |
|
387
|
0 |
0 |
if defined $gust |
|
389
|
0 |
0 |
if $unit eq "Mps" |
|
390
|
0 |
0 |
if $unit eq "Kt" |
|
401
|
0 |
0 |
if ($u eq 'A' or $punit and $punit =~ /^I/) { } |
|
414
|
0 |
0 |
if ($tok[0] eq 'ALL' and $tok[1] eq 'RWY') { } |
|
|
0 |
0 |
elsif ($tok[0] eq 'RWY' and $tok[1] =~ /\d\d[LRC]?/) { } |
|
430
|
0 |
0 |
$visibility eq '9999' ? : |
|
434
|
0 |
0 |
if $mist |
|
438
|
0 |
0 |
$visibility eq '9999' ? : |
|
446
|
0 |
0 |
if (@tok and ($visibility) = $tok[0] =~ m[^(\d/\d)SM$]) |
|
456
|
0 |
0 |
if defined $lt and $lt eq "M" |
|
457
|
0 |
0 |
if defined $lt and $lt eq "P" |
|
461
|
0 |
0 |
if $mvisibility =~ m[M|/] or $mvisibility =~ /^1$/ |
|
466
|
0 |
0 |
unless $runit |
|
468
|
0 |
0 |
if $runit eq "ft" |
|
469
|
0 |
0 |
if $rlt and $rlt eq "M" |
|
470
|
0 |
0 |
if $rlt and $rlt eq "P" |
|
471
|
0 |
0 |
if $vlt and $vlt =~ /M/ |
|
472
|
0 |
0 |
if $vlt and $vlt =~ /P/ |
|
480
|
0 |
0 |
if (defined $deg and "$deg$w" eq '+FC') { } |
|
|
0 |
0 |
elsif ($w eq '+FC') { } |
|
487
|
0 |
0 |
if defined $deg and $deg eq "VC" and $self->{'taf'} |
|
493
|
0 |
0 |
$height eq '///' ? : |
|
|
0 |
0 |
unless $amt eq "///" and $height eq "///" |
|
494
|
0 |
0 |
if ($amt =~ /BKN|OVC|VV/) |
|
495
|
0 |
0 |
if $height * 100 < $ceiling |
|
502
|
0 |
0 |
if defined $ms |
|
503
|
0 |
0 |
if defined $d and defined $n |
|
535
|
0 |
0 |
if $name eq "DESTROY" |
|
559
|
0 |
0 |
defined $_ ? : |
|
565
|
0 |
0 |
ref $pkg ? : |
|
566
|
0 |
0 |
if ($d == 1 or $d == 21 or $d == 31) { } |
|
|
0 |
0 |
elsif ($d == 2 or $d == 22) { } |
|
|
0 |
0 |
elsif ($d == 3 or $d == 23) { } |
|
597
|
0 |
0 |
if ($self->[0] == $self->[2]) { } |
|
615
|
0 |
0 |
if ($self->[0] ne 'VRB' and $self->[0] == 0 and $self->[1] == 0) { } |
|
619
|
0 |
0 |
$self->[0] eq 'VRB' ? : |
|
620
|
0 |
0 |
if defined $self->[4] |
|
621
|
0 |
0 |
$self->[0] eq 'VRB' ? : |
|
622
|
0 |
0 |
if defined $self->[2] |
|
714
|
0 |
0 |
if @$self == 1 |
|
715
|
0 |
0 |
if $self->[0] eq "VV" |
|
716
|
0 |
0 |
defined $self->[2] ? : |
|
797
|
0 |
0 |
if (not defined $t) { } |
|
|
0 |
0 |
elsif ($t eq 'VC' or $t eq 'VT') { } |
|
|
0 |
0 |
elsif ($t eq 'SH') { } |
|
804
|
0 |
0 |
if ($vic) { } |
|
814
|
0 |
0 |
if ($shower and $wt{$t} =~ /s$/) { } |
|
822
|
0 |
0 |
if (@out and $shower) |
|
826
|
0 |
0 |
if $vic |
|
840
|
0 |
0 |
if defined $self->[2] |
|
841
|
0 |
0 |
if (defined $self->[4]) |
|
842
|
0 |
0 |
if $self->[4] eq "D" |
|
843
|
0 |
0 |
if $self->[4] eq "U" |
|
856
|
0 |
0 |
$self->[0] eq 'LDG' ? : |
|
881
|
0 |
0 |
if (defined $self->[1]) |
|
884
|
0 |
0 |
if ($self->[1] == $self->[3]) { } |
|
905
|
0 |
0 |
if ($self->[0] == $self->[2]) { } |
|
925
|
0 |
0 |
if ($self->[0] == $self->[2]) { } |