| line |
true |
false |
branch |
|
394
|
0 |
4 |
unless (ref $self) |
|
399
|
4 |
0 |
if ($Geo::METAR::AUTOLOAD =~ /.*::(.*)/) { } |
|
413
|
0 |
4 |
if ($compat{$key}) |
|
420
|
4 |
0 |
if (exists $$self{$key}) { } |
|
443
|
0 |
0 |
if $$self{'debug'} |
|
455
|
1 |
0 |
if (@_) |
|
538
|
0 |
9 |
if $$self{'debug'} |
|
544
|
0 |
9 |
if ($parsestate == $expect_type and $tok =~ /(METAR|SPECI)/i) { } |
|
|
1 |
8 |
elsif ($parsestate <= $expect_site and $tok =~ /([A-Z]{4}|K[A-Z0-9]{3})/) { } |
|
|
1 |
7 |
elsif ($parsestate == $expect_datetime and $tok =~ /\d{6,6}Z/i) { } |
|
|
0 |
7 |
elsif ($parsestate == $expect_modifier and $tok =~ /AUTO|COR|CC[A-Z]/i) { } |
|
|
1 |
6 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_visibility and $tok =~ /(\d{3}|VRB)\d{2}(G\d{1,3})?(KT)?$/i) { } |
|
|
0 |
6 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_visibility and $tok =~ /^(\d{3}|VRB)\d{2}(G\d{2,3})?MPS$/) { } |
|
|
0 |
6 |
elsif ($parsestate >= $expect_wind and $parsestate < $expect_visibility and $tok =~ /^\d{3}V\d{3}$/) { } |
|
|
0 |
6 |
elsif ($parsestate >= $expect_wind and $parsestate < $expect_visibility and $tok =~ m[^/////(KT|MPS)$]) { } |
|
|
0 |
6 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_runwayvisual and $tok =~ /^\d{4}$/) { } |
|
|
0 |
6 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_runwayvisual and $tok =~ /^\d{4}NDV$/) { } |
|
|
1 |
5 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_runwayvisual and $tok =~ /.*?SM$/i) { } |
|
|
0 |
5 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_runwayvisual and $tok =~ /^\d$/) { } |
|
|
0 |
5 |
elsif ($parsestate == $expect_visibility and $tok =~ /^\d{4}(N|S|E|W|NE|NW|SE|SW)$/) { } |
|
|
0 |
5 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_presentweather and $tok =~ m[R\d+(L|R|C)?/P?\d+(VP?\d+)?(FT|D|U|N|/)?$]i) { } |
|
|
0 |
5 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_clouds and $tok =~ /^(-|\+)?(VC)?($_weather_types_pat)+/i) { } |
|
|
0 |
5 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_temperature and $tok eq 'CAVOK') { } |
|
|
0 |
5 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_temperature and $tok =~ /SKC|CLR/) { } |
|
|
1 |
4 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_temperature and $tok =~ m[^(FEW|SCT|BKN|OVC)(\d\d\d)?(CB|TCU)?/*$]i) { } |
|
|
0 |
4 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_temperature and $tok =~ /^(NSC|NCD)$/) { } |
|
|
0 |
4 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_temperature and $tok =~ /^VV\d+$/) { } |
|
|
1 |
3 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_pressure and $tok =~ m[^(M?\d\d)/(M?\d{0,2})]i) { } |
|
|
1 |
2 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_remarks and $tok =~ /^A(\d\d)(\d\d)$/i) { } |
|
|
0 |
2 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_remarks and $tok =~ /^Q(\d\d\d\d)$/i) { } |
|
|
0 |
2 |
elsif ($parsestate >= $expect_modifier and $parsestate < $expect_remarks and $tok =~ /^RE($_weather_types_pat)$/) { } |
|
|
0 |
2 |
elsif ($parsestate >= $expect_modifier and $tok =~ /^$_trend_types_pat/) { } |
|
|
1 |
1 |
elsif ($parsestate >= $expect_modifier and $tok =~ /^RMK$/i) { } |
|
|
0 |
1 |
elsif ($parsestate == $expect_usremarks and $tok =~ /^A(O\d)$/i) { } |
|
|
0 |
1 |
elsif ($parsestate == $expect_usremarks and $tok =~ /^SLP(\d+)/i) { } |
|
|
0 |
1 |
elsif ($parsestate == $expect_usremarks and $tok eq 'SLPNO') { } |
|
|
0 |
1 |
elsif ($parsestate == $expect_usremarks and $tok =~ /^P(\d\d\d\d)$/i) { } |
|
|
0 |
1 |
elsif ($parsestate == $expect_usremarks and $tok =~ /^($_weather_types_pat)([BE\d]+)$/i) { } |
|
|
0 |
1 |
elsif ($parsestate >= $expect_recentweather and $tok eq 'CB' || $tok eq 'TCU') { } |
|
|
0 |
1 |
elsif ($parsestate == $expect_usremarks and $tok =~ /^T(\d)(\d\d)(\d)(\d)(\d\d)(\d)$/i) { } |
|
|
0 |
1 |
elsif ($parsestate < $expect_remarks) { } |
|
548
|
0 |
0 |
if ($$self{'type'} eq 'METAR') { } |
|
|
0 |
0 |
elsif ($$self{'type'} eq 'SPECI') { } |
|
556
|
0 |
0 |
if $$self{'debug'} |
|
568
|
0 |
1 |
if $$self{'debug'} |
|
580
|
0 |
1 |
if $$self{'debug'} |
|
594
|
0 |
0 |
if $$self{'debug'} |
|
611
|
0 |
1 |
if $$self{'debug'} |
|
624
|
0 |
0 |
if $$self{'debug'} |
|
637
|
0 |
0 |
if $$self{'debug'} |
|
647
|
0 |
0 |
if $$self{'debug'} |
|
659
|
0 |
0 |
if $$self{'debug'} |
|
669
|
0 |
0 |
if $$self{'debug'} |
|
681
|
0 |
1 |
if $$self{'debug'} |
|
698
|
0 |
0 |
if $$self{'debug'} |
|
707
|
0 |
0 |
if $$self{'debug'} |
|
722
|
0 |
0 |
if $$self{'debug'} |
|
740
|
0 |
0 |
if (defined $qual) { } |
|
742
|
0 |
0 |
if ($qual eq '-') { } |
|
|
0 |
0 |
elsif ($qual eq '+') { } |
|
762
|
0 |
0 |
if (defined $addlqual) |
|
764
|
0 |
0 |
if ($addlqual eq 'VC') |
|
775
|
0 |
0 |
if $$self{'debug'} |
|
804
|
0 |
0 |
if $$self{'debug'} |
|
821
|
0 |
1 |
if (defined $3) |
|
823
|
0 |
0 |
if ($3 eq 'TCU') { } |
|
|
0 |
0 |
elsif ($3 eq 'CB') { } |
|
833
|
1 |
0 |
if ($2 ne '') |
|
840
|
0 |
1 |
if $$self{'debug'} |
|
855
|
0 |
0 |
if $$self{'debug'} |
|
865
|
0 |
0 |
if $$self{'debug'} |
|
876
|
0 |
1 |
if $$self{'temp_dew'} |
|
884
|
0 |
1 |
if $$self{'debug'} |
|
903
|
0 |
1 |
if $$self{'debug'} |
|
917
|
0 |
0 |
if $$self{'debug'} |
|
927
|
0 |
0 |
if $$self{'debug'} |
|
937
|
0 |
0 |
if $$self{'debug'} |
|
949
|
0 |
1 |
if $$self{'debug'} |
|
962
|
0 |
0 |
if $$self{'debug'} |
|
974
|
0 |
0 |
if $$self{'debug'} |
|
986
|
0 |
0 |
if $$self{'debug'} |
|
998
|
0 |
0 |
if ($1 eq '0000') { } |
|
1020
|
0 |
0 |
if ($1 eq 'B') { } |
|
1028
|
0 |
0 |
if $$self{'debug'} |
|
1040
|
0 |
0 |
if ($tok eq 'CB') { } |
|
|
0 |
0 |
elsif ($tok eq 'TCU') { } |
|
1055
|
0 |
0 |
if ($1 == 1) |
|
1061
|
0 |
0 |
if ($4 == 1) |
|
1066
|
0 |
0 |
if $$self{'debug'} |
|
1078
|
0 |
0 |
if $$self{'debug'} |
|
1090
|
0 |
1 |
if $$self{'debug'} |
|
1111
|
1 |
0 |
if (defined $$self{'wind'}) |
|
1119
|
0 |
1 |
if ($dir_deg =~ /VRB/i) { } |
|
1122
|
0 |
1 |
if ($dir_deg < 15) { } |
|
|
0 |
1 |
elsif ($dir_deg < 30) { } |
|
|
0 |
1 |
elsif ($dir_deg < 60) { } |
|
|
0 |
1 |
elsif ($dir_deg < 75) { } |
|
|
0 |
1 |
elsif ($dir_deg < 105) { } |
|
|
0 |
1 |
elsif ($dir_deg < 120) { } |
|
|
0 |
1 |
elsif ($dir_deg < 150) { } |
|
|
0 |
1 |
elsif ($dir_deg < 165) { } |
|
|
0 |
1 |
elsif ($dir_deg < 195) { } |
|
|
0 |
1 |
elsif ($dir_deg < 210) { } |
|
|
1 |
0 |
elsif ($dir_deg < 240) { } |
|
|
0 |
0 |
elsif ($dir_deg < 265) { } |
|
|
0 |
0 |
elsif ($dir_deg < 285) { } |
|
|
0 |
0 |
elsif ($dir_deg < 300) { } |
|
|
0 |
0 |
elsif ($dir_deg < 330) { } |
|
|
0 |
0 |
elsif ($dir_deg < 345) { } |
|
1184
|
1 |
0 |
if ($$self{'windtype'} == $wt_knots) { } |
|
|
0 |
0 |
elsif ($$self{'windtype'} == $wt_mps) { } |
|
1190
|
1 |
0 |
if ($wind =~ /.{5,6}G(\d\d\d?)/o) |
|
1200
|
0 |
0 |
if ($wind =~ /\d{5,6}G(\d\d\d?)/o) |
|
1225
|
0 |
1 |
if (defined $$self{'windvar'}) |
|
1227
|
0 |
0 |
if ($$self{'windvar'} =~ /^(\d\d\d)V(\d\d\d)$/) |
|
1241
|
1 |
0 |
if ($vis =~ /SM$/) { } |
|
|
0 |
0 |
elsif ($$self{'MOD'} eq 'AUTO' and $vis =~ /(\d+)NDV$/) { } |
|
1243
|
0 |
1 |
if ($vis =~ m[M(\d/\d)]o) { } |
|
1262
|
4 |
48 |
if (uc $key eq $key and $key =~ /^(.*)_C$/) |
|
1266
|
2 |
2 |
unless defined $$self{$key} and $$self{$key} |
|
1299
|
0 |
0 |
unless defined $flag |
|
1301
|
0 |
0 |
if ($flag eq 'Y' or $flag eq 'y' or $flag == 1) { } |
|
|
0 |
0 |
elsif ($flag eq 'N' or $flag eq 'n' or $flag == 0) { } |
|
1337
|
0 |
0 |
if uc $var ne $var |
|
1339
|
0 |
0 |
if (ref $$self{$var} eq 'ARRAY') { } |