Branch Coverage

blib/lib/Astro/App/Satpass2.pm
Criterion Covered Total %
branch 616 1338 46.0


line true false branch
68 0 20 if load_package("Time::y2038")
72 0 20 unless (eval { do { "Time::y2038"->import if load_package("Time::y2038"); 1 } })
128 0 0 unless my $pkg = load_package($geocoder)
130 0 0 unless load_package($pkg->GEOCODER_CLASS)
215 0 19 unless exists $opt->{"expand_tilde"}
241 0 285 unless ($gol->getoptionsfromarray(_attr_list($arg), \%opt, @legal))
249 0 1524 unless defined(local $_ = $_[0])
257 0 1235 unless defined $code
260 0 1235 unless defined $name
262 607 628 if exists $attr{$code}{$name}
445 0 7 if ref $class
472 301 0 unless exists $args{$name}
491 0 1 unless embodies($body, "Astro::Coord::ECI::TLE")
502 2 3 if (@args) { }
526 0 3 if $almanac_start >= $almanac_end
540 0 3 unless my(@sky) = $self->__choose($opt->{"choose"}, $self->{"sky"})
543 0 6 unless ($body->can("almanac"))
590 0 5 @args ? :
599 0 20 if $ENV{'SATPASS2_LEVEL1'}
607 1 1 if (defined $dir) { }
608 0 1 unless chdir $dir
610 0 1 unless chdir "File::HomeDir"->my_home
619 0 2 if ($opt->{"epoch"})
628 2 0 if (@args)
629 0 2 unless my(@bodies) = @{$self->__choose(\@args, $self->{"bodies"});}
645 0 289 unless defined $verb
649 19 270 if ($self->{'macro'}{$verb})
650 0 19 if $unsatisfied
657 1 269 unless $code = $self->can($verb) and $self->__get_attr($code, "Verb")
664 257 12 unless $unsatisfied and not $self->__get_attr($code, "Tweak", {})->{'unsatisfied'}
666 145 116 if defined $rslt
670 238 23 unless delete $self->{'frame'}[-1]{'post_dispatch'}
673 1 22 if defined($append = &$code($self))
696 19 4 unless my $code = $special{$disp}
706 0 1 unless @args
709 0 1 unless my(@bodies) = @{$self->__choose({"invert", 1}, \@args, $self->{"bodies"});}
725 0 0 unless @arg
730 0 0 if ref $_
733 0 0 if / \A frames? \z /imsx
735 0 0 if / \A tokens? \z /imsx
740 0 0 if / \A twilight \z /imsx
743 0 0 if (defined(my $inx = $self->_find_in_sky($_)))
747 0 0 if @stuff
757 44 0 unless $opt->{"n"}
767 0 2 unless @{$self->{"frame"};} > 1 and "begin" eq $self->{"frame"}[-1]{"type"} and "if" eq $self->{"frame"}[-2]{"type"}
769 0 2 if $self->{"frame"}[-1]{"in_else"}++
801 0 5 unless $self->{"frame"}[-1]{"type"} eq "begin"
810 0 1 unless @arg
826 13 251 if ('CODE' eq ref $args[0]) { }
830 13 8 if @args
838 0 280 if $self->{'echo'}
839 3 277 if / \A \s* [#] /msx
856 6 267 unless $self->{'execute_filter'}->($self, $args)
857 1 266 unless @{$args;}
858 1 265 if ($redirect->{'>'})
880 251 5 if $#{$$self{"frame"};} >= $frame_depth
882 6 250 defined $stdout ? :
885 10 246 if $extern
899 0 0 'CODE' eq ref $args[0] ? :
902 0 0 unless eval { do { $self->execute($in, shift @args); 1 } }
916 104 152 unless defined $output
918 0 152 if (not defined $stdout) { }
149 3 elsif ('SCALAR' eq $ref) { }
2 1 elsif ('CODE' eq $ref) { }
1 0 elsif ('ARRAY' eq $ref) { }
948 1 3 if ($mutator{$name}) { }
949 1 0 if @args
952 1 2 unless @args
968 0 0 if $pass_start >= $pass_end
978 0 0 $self->{"formatter"}->gmt ? :
0 0 exists $opt->{"tz"} ? :
994 0 0 unless $tle->can_flare($opt->{"questionable"})
1012 0 0 unless @active
1019 0 0 unless (eval { do { push @flares, $tle->flare($pass_start, $pass_end); 1 } })
1020 0 0 if $@ =~ / \Q$interrupted\E /mosx
1021 0 0 unless $opt->{"quiet"}
1029 0 0 $_->{"type"} eq "day" ? :
1037 0 9 "HASH" eq ref $_[1] ? :
1047 0 0 if (@arg == 2)
1056 0 0 if $fmtr->can("__list_templates")
1061 0 0 unless my $code = $app->can("_formatter_complete_$arg[1]")
1065 0 0 if $r = $app->_readline_complete_options($code, $text, $line, $start)
1090 0 0 if (defined $loc) { }
1101 0 0 if (@rslt == 1) { }
1103 0 0 if $set_loc
1106 0 0 $set_loc ? :
1108 0 0 if ($self->get("autoheight"))
1124 0 0 unless @_ == 5
1157 0 0 unless @args
1160 0 0 if ($eq->is_valid($rslt)) { }
1164 0 0 unless $opt->{'geocoding'}
1174 0 0 unless defined $arg
1177 0 0 if defined $self->{"_help_module"}{$arg}
1178 0 0 if (my $cmd = $self->_get_browser_command) { }
1179 0 0 $arg =~ / - /msx ? :
1185 0 0 if ("Astro::App::Satpass2"->can($os_specific)) { }
0 0 elsif (load_package("Pod::Usage")) { }
1189 0 0 if (defined(my $path = find_package_pod($arg)))
1193 0 0 if (openhandle $stdout and not -t $stdout)
1478 0 2 unless @args
1483 0 2 unless @{$self->{"frame"};} > 1 and "begin" eq $self->{"frame"}[-1]{"type"} and "if" eq $self->{"frame"}[-2]{"type"}
1493 0 2 if $self->{"frame"}[-2]{"condition"}
1500 0 22 unless @args
1512 0 0 'HASH' eq ref $args[0] ? :
1517 0 0 defined $init_file ? :
1522 0 0 unless -e $init_file and not -d _
1538 0 0 unless my $reader = $self->_file_reader($fn, {"optional", 1})
1555 0 0 unless (defined $init_dir)
1556 0 0 if $opt->{"quiet"}
1566 290 0 @{$self->{'frame'};} ? :
1605 0 24 unless @tokens
1611 24 0 if $def->{'done'}
1617 0 61 unless @{$tokens;}
1620 57 4 if (my $info = $def->{'oper'}{$tkn}) { }
4 0 elsif ($def->{'val'}) { }
1622 55 2 if $info->{'validation'}
1641 0 0 $^O eq 'MSWin32' || $^O eq 'VMS' || $^O eq 'MacOS' ? :
1647 0 0 $ENV{'USERPROFILE'} ? :
0 0 $ENV{'LOGDIR'} ? :
0 0 $ENV{'HOME'} ? :
0 0 $^O eq 'MacOS' ? :
0 0 $^O eq 'VMS' ? :
1648 0 0 wantarray ? :
1656 0 7 if @args and not $opt->{"choose"}
1660 5 2 if @bodies
1664 0 2 if $self->{"warn_on_empty"}
1671 0 6 unless @names
1680 0 6 if $opt->{"verbose"}
1695 0 1 if ($opt->{"all"})
1711 2 0 exists $self->{$key} ? :
1713 0 2 ref $val ? :
0 2 &blessed($val) && $val->can('clone') ? :
1718 2 0 if (exists $self->{$key}) { }
1771 0 29 if (not @args) { }
8 21 elsif ($self->{"frame"}[-1]{"level1"}) { }
1774 0 8 if ($mac_cmd{$args[0]}) { }
8 0 elsif (@args > 1) { }
1782 0 21 unless defined($cmd = $mac_cmd{$args[0]})
1787 0 29 unless my $code = $self->can("_macro_sub_$cmd")
1798 0 3 @args ? :
1799 1 0 if $self->{"macro"}{$name}
1807 0 16 unless defined $name
1810 0 16 unless @args
1812 0 16 if $name =~ / \W /msx or $name =~ / \A _ /msx
1836 0 9 if (my $comp = $self->completion) { }
1852 1 0 @args ? :
1861 8 1 @args ? :
1862 0 9 unless $self->{"macro"}{$name}
1872 0 0 unless defined $name
1881 0 0 if exists $opt->{"lib"}
1884 0 0 @args ? :
1886 0 0 if $obj->implements($mn, "required", 1)
1888 0 0 if ($opt->{"verbose"})
1894 0 0 if $obj->implements("after_load", "required", 0)
1902 0 0 if ($self->has_lib)
1904 0 0 if $self->relative
1918 0 0 unless @args
1924 0 0 if ($verb eq "show" or $verb eq "list") { }
1947 1 19 if $opt->{"ephemeris"}
1952 3 17 if $opt->{"almanac"} and not defined $opt->{"ephemeris"}
1957 0 1 unless $opt->{"am"} or $opt->{"pm"}
1961 0 20 if $pass_start >= $pass_end
1966 0 20 unless my(@bodies) = $self->__choose($opt->{"choose"}, $self->{"bodies"})
1996 0 20 if ($opt->{"brightest"}) { }
0 20 elsif (exists $opt->{"brightest"}) { }
2011 39 0 $tle->get("inertial") ? :
2027 0 39 $self->{"verbose"} ? :
2034 0 39 unless (eval { do { push @accumulate, $self->_pass_select_event($opt, $tle->pass($pass_start, $pass_end, $self->{"sky"})); 1 } })
2035 0 0 if $@ =~ / \Q$interrupted\E /mosx
2036 0 0 unless $opt->{"quiet"}
2043 3 17 if $opt->{"chronological"}
2051 4 16 if ($opt->{"almanac"})
2070 12 12 $evt->{"time"} >= $noon ? :
2077 0 6 $pass->{"time"} >= $noon ? :
2081 3 3 if ($opt->{"ephemeris"})
2087 2 2 unless ($opt->{"ephemeris"})
2090 3 0 unless $pass->{"_pm"}
2093 0 0 unless $almanac{$noon}{$illum}[1]
2102 0 3 if $pass->{"_pm"}
2105 0 3 unless $almanac{$noon}{$illum}[0]
2124 18 2 unless $opt->{'am'} xor $opt->{'pm'}
2171 38 0 if @{$$pass{"events"};} = grep({_pass_select_event_code($opt, $_->{'event'});} @{$$pass{"events"};})
2187 0 136 unless &isdual($event) or not $event =~ / \D /msx
2190 0 136 if $event == ""
2198 0 2 unless defined $file
2201 0 2 if $opt->{"setup"}
2204 1 1 unless $opt->{"eval"}
2207 1 1 $opt->{"eval"} ? :
2210 1 1 if $@
2212 1 0 unless instance($rslt, "Astro::App::Satpass2")
2223 0 1 unless my(@sky) = $self->__choose($opt->{"choose"}, $self->{"sky"})
2235 4 0 if (defined $time) { }
2252 4 9 if ($body->represents("Astro::Coord::ECI::TLE"))
2263 4 0 if $body->get("inertial")
2269 3 10 unless (eval { do { $body->universal($time); push @good, $body; 1 } })
2270 0 3 if $@ =~ / \Q$interrupted\E /mosx
2271 3 0 unless $opt->{"quiet"}
2303 0 1 unless my(@sky) = $self->__choose($opt->{"choose"}, $self->{"sky"})
2313 0 2 unless $body->can("next_quarter_hash")
2318 2 5 if $hash->{"time"} > $end
2319 0 5 unless $$opt{$quarter_name[$hash->{"almanac"}{"detail"}]}
2359 0 0 unless ref $self
2369 0 0 if "CODE" eq ref $args[0]
2375 0 0 unless $go->getoptionsfromarray(\@args, \%opt, ("echo!", "filter!", "gmt!", "help", "initialization_file|initfile=s", "level1!", "version"))
2386 0 0 if ($opt{'version'})
2392 0 0 if ($opt{'help'})
2403 0 0 if exists $opt{$name}
2407 0 0 if not $self->get("filter") and $self->_get_interactive
2411 0 0 unless eval { do { $self->_execute_output($self->init({"level1", delete $opt{'level1'}}, delete $opt{'initialization_file'}), $self->get("stdout")); 1 } }
2420 0 0 if %opt
2439 0 0 unless defined $fn
2441 0 0 if ($fn ne "-" and -e $fn)
2442 0 0 unless -f $fn
2444 0 0 unless ($opt->{"overwrite"})
2447 0 0 unless "y" eq lc substr($rslt, 0, 1)
2453 0 0 if ($opt->{"changes"})
2470 0 0 if ($self->{"_perl"})
2486 0 0 unless my $obj = $self->get($attribute)
2487 0 0 $obj->can("class_name_of_record") ? :
2500 0 0 if ($fn ne "-")
2501 0 0 unless my $fh = "IO::File"->new($fn, ">:encoding(utf-8)")
2523 0 0 if $opt->{'changes'} and $sky_class{$body} and $sky_class{$body} eq $self->{'sky_class'}{$body}
2528 0 0 unless $self->{'sky_class'}{$body}
2533 0 0 if ($opt->{'changes'}) { }
2537 0 0 unless defined $self->_find_in_sky($name)
2544 0 0 if $exclude{ref $body}
2558 28 323 if (_is_interactive())
2559 1 27 if $nointeractive{$name}
2562 0 27 if defined $value and $value eq "undef"
2565 350 0 if ($mutator{$name}) { }
2578 7 0 &looks_like_number($parsed) ? :
2602 15 16 if (my $code = $validate{$name})
2603 0 0 defined $value ? :
0 15 unless defined $angle
2605 0 15 unless &$code($angle)
2615 6 15 if defined $value and "undef" ne $value
2620 0 11 unless "CODE" eq ref $_[2]
2645 0 14 if (ref $arg{'value'}) { }
2647 0 0 unless &blessed($arg{'value'})
2650 0 0 if $obj->can("warner")
2652 14 0 if (defined $arg{'default'})
2655 0 14 unless defined $arg{'value'} and "" ne $arg{'value'}
2657 0 14 if (not defined $arg{'value'} or $arg{'value'} eq "")
2659 0 0 unless $arg{'undefined'}
2666 0 14 unless $arg{'prefix'}
2667 0 14 if not $cls->can("init") and _is_case_tolerant()
2673 7 7 if $cls->can("parent")
2680 0 14 unless $obj = $cls->new("warner", $self->{'_warner'}, @args)
2684 0 14 if defined $arg{'class'} and not $obj->isa($arg{'class'})
2687 0 0 if &blessed($old) and not $arg{'nocopy'} and $old->can("copy")
2694 2 7 defined $_[2] ? :
2738 0 7 if ref $class
2739 7 0 if (defined $class) { }
2741 0 7 unless $class->isa($want_class)
2756 0 7 unless "Astro::Coord::ECI::TLE"->is_valid_model($val)
2768 7 0 if (defined $val and "" ne $val)
2769 0 7 unless open my $fh, ">$val", "File::Spec"->devnull
2798 7 1 if ($val =~ / \A (?: 0 x? ) [0-9]* \z /msx) { }
1 0 elsif (not $val =~ / \A [0-9]+ \z /msx) { }
2809 0 1 unless $go->getoptionsfromarray(\@args, "none", sub { $val = 0; } , map({$_, sub { my($name, $value) = @_; my $mask = $variant_def{$name}; if ($value) { $val |= $mask; } else { $val &= ~$mask; } ; return; } ;} @option_names))
2812 0 1 if ($value) { }
2830 0 5 if $val & $variant_def{$key}
2834 1 0 unless @options
2840 0 138 unless $variant_def{$variant}
2850 0 0 if (defined $val)
2851 0 0 unless instance($val, "Astro::SpaceTrack")
2855 0 0 unless $version >= "0.105"
2865 15 0 if $self->{'frame'}
2878 0 7 if ('CODE' eq ref $val) { }
0 7 elsif (defined $val and my $macro = $self->{'macro'}{$val}) { }
2900 0 14 if defined $val and $val eq "undef"
2918 9 0 if (my $key = $twilight_abbr{lc $val}) { }
2923 0 0 unless &looks_like_number($angle)
2944 0 0 if defined $val and $val eq "undef"
2952 0 7 if (my $st = $self->get("spacetrack"))
2963 46 0 unless exists $opt->{$name}
2967 0 23 unless (@args)
2969 0 0 unless $self->_attribute_exists($name, "query", 1)
2971 0 0 if $nointeractive{$name}
2975 0 0 unless exists $mutator{$name} or $opt->{"readonly"}
2979 0 0 if $depr = $self->_deprecation_in_progress("attribute", $name) and !$opt->{"deprecated"} || $depr >= 3
2986 0 23 unless exists $shower{$name}
2990 0 23 if ($opt->{"changes"})
2992 0 0 if $static{$name} eq $val[-1]
2995 0 23 unless exists $mutator{$name}
3024 0 0 if (my $back_end = $obj->back_end)
3045 0 8 if (embodies($body, 'Astro::Coord::ECI::TLE')) { }
1 7 elsif ($body->isa('Astro::Coord::ECI::Star')) { }
3067 12 0 if (my $code = $self->can("_sky_sub_$verb")) { }
3080 0 0 unless my $info = $self->{'sky_class'}{CORE::fc $name}
3089 0 0 if wantarray
3099 7 5 unless defined $opt{'fatal'}
3100 10 2 if (my $info = $self->{'sky_class'}{CORE::fc $name}) { }
0 2 elsif ($opt{'fatal'}) { }
3114 0 5 unless my $name = shift @args
3116 0 5 if defined $self->_find_in_sky($name)
3118 3 2 if (my $obj = $self->_sky_object($name, "fatal", 0)) { }
3121 1 1 unless @args >= 2
3126 1 0 @args ? :
3129 1 0 @args ? :
3131 1 0 unless $angle =~ s/ s \z //imsx
3135 1 0 @args ? :
3136 1 0 @args ? :
3151 0 0 if $opt->{"add"} and $opt->{"delete"}
3153 0 0 if ($opt->{"delete"}) { }
0 0 elsif (@arg < 2) { }
3155 0 0 if $name =~ / \A sun \z /imsx
3157 0 0 if defined $self->_find_in_sky($name)
3163 0 0 unless @arg
3170 0 0 $name =~ / \A sun \z /imsx ? :
3173 0 0 unless embodies($class, $want_class)
3177 0 0 if {@attr}->{"name"}
3186 0 0 unless $self->_replace_in_sky($folded_name, $obj)
3188 0 0 if ($obj->isa("Astro::Coord::ECI::Sun"))
3210 0 1 unless @args
3228 0 8 if ($opt->{"verbose"})
3232 1 4 unless (@{$self->{"sky"};})
3234 0 1 if $self->{"warn_on_empty"}
3246 0 0 unless open my $fh, "<", $fn
3258 0 0 if defined $self->_find_in_sky($name)
3288 0 0 if $extant{$id}
3299 1 6 unless my $reader = $self->_file_reader($src, $opt)
3306 2 19 if @level1_cache
3311 4 2 $opt->{"level1"} ? :
3319 0 6 unless my $ok = eval { do { while (defined(my $input = &$fetcher())) { do { if (defined(my $buffer = $self->execute($fetcher, $input))) { $output .= $buffer; } }; } ; 1 } }
3320 2 11 if (defined(my $buffer = $self->execute($fetcher, $input)))
3329 0 6 unless $ok
3331 4 2 if $opt->{"level1"}
3393 0 0 unless exists $opt->{"raw"}
3399 0 0 unless not $method =~ / \A _ /msx and $object->can($method) or $handler{$method}
3404 0 0 if $opt->{"start_epoch"}
3407 0 0 if $opt->{"end_epoch"}
3410 0 0 if ($handler{$method}) { }
3418 0 0 unless $rslt->is_success
3424 0 0 if ($content_type eq "orbit") { }
0 0 elsif ($content_type eq "iridium-status") { }
0 0 elsif (not $suppress_output{$content_type} or $verbose) { }
3428 0 0 if $verbose
3434 0 0 if $verbose
3443 0 0 if defined $output
3454 0 0 if ("localize" eq $func) { }
3458 0 0 unless exists $self->{"frame"}[-1]{"spacetrack"}{$key}
3473 0 34 unless defined $self->{'height'} and defined $self->{'latitude'} and defined $self->{'longitude'}
3494 1 2 unless @args
3498 0 3 if ($verb eq "iridium")
3505 1 2 if ($verb eq "add" or $verb eq "drop") { }
1 1 elsif ($verb eq "clear") { }
1 0 elsif ($verb eq "show" or $verb eq "list") { }
3509 1 0 if $tle->get("id") == $args[0]
3522 0 1 if $opt->{"name"}
3554 4 1 $mutator{$_} ? :
3555 0 4 if (defined $stdout and -t $stdout) { }
3565 0 2 "ARRAY" eq ref $_ ? :
3566 0 1 unless &$have_time_hires()
3576 1 0 unless $self->_in_unsatisfied_if
3581 0 0 "HASH" eq ref $_[1] ? :
3589 0 4 if @args and not $opt->{"choose"}
3593 0 1 unless $Astro::App::Satpass2::a->[1] <=> $Astro::App::Satpass2::b->[1]
3623 0 1 if $pass_start >= $pass_end
3626 0 1 unless @{$self->{"bodies"};}
3633 1 1 if $tle->validate($opt, $pass_start, $pass_end)
3674 10 0 if embodies($body, "Astro::Coord::ECI::TLE")
3677 0 0 unless defined $id
3705 8 128 if (exists $opt->{$key})
3708 0 8 if $invert
3709 6 2 $opt->{$key} ? :
3715 0 44 if 1 == $state and @keys == $found
3719 128 8 unless exists $opt->{$key}
3739 1280 0 if exists $accessor{$name} and !$level1_attr{$name} || $self->{'frame'}[-1]{'level1'}
3741 0 0 unless $arg{'query'}
3784 34 9 unless $accessor{$attr}
3787 2 7 if (defined $sub)
3789 0 2 unless $rslt and my $code = $special{$attr}
3840 7 38 'HASH' eq ref $args[0] ? :
3842 40 5 unless defined $choice
3844 0 45 unless "ARRAY" eq ref $choice
3850 0 5 unless my $code = $chooser{$ref}
3857 6 39 if $opt->{'bodies'}
3859 4 41 if $opt->{'sky'}
3861 43 8 'ARRAY' eq ref $_ ? :
3864 36 4 wantarray ? :
40 5 unless @selector
3867 0 10 if "ARRAY" eq ref $tle
3873 6 4 unless &$sel($tle, $context)
3879 4 6 if $match
3882 2 3 wantarray ? :
3926 0 1277 unless $deprecate{$type}
3927 1277 0 unless $deprecate{$type}{$name}
3929 0 0 $deprecate{$type}{$name} > 2 ? :
3930 0 0 if defined $repl
3932 0 0 if $deprecate{$type}{$name} >= 3
3934 0 0 if warnings::enabled("deprecated")
3937 0 0 if $deprecate{$type}{$name} == 1
3943 0 0 unless $deprecate{$type}
3954 0 1 unless defined(my $inx = $self->_find_in_sky($name))
3972 0 1 $name =~ / \A & ( [12] ) \z /msx ? :
0 1 unless my $fh = $name =~ / \A & ( [12] ) \z /msx ? [undef, $self->{'frame'}[-1]{'localout'} || \*STDOUT, \*STDERR]->[$1] : "IO::File"->new($name, $mode)
3978 1 0 if ($mode =~ / \A (?: [+>] | [|] - ) /msx)
3981 1 0 if (defined $layers and "" ne $layers)
3982 0 1 unless binmode $fh, $layers
4022 2 23 if (&openhandle($file))
4024 1 1 unless $opt->{'glob'}
4030 0 23 unless my $code = $self->can("_file_reader_$ref")
4043 14 0 if defined $file
4046 0 14 if (not defined $file or not ref $file and "" eq $file)
4047 0 0 if $opt->{'optional'}
4051 0 14 if ($self->_file_reader__validate_url($file)) { }
4055 0 0 unless ($resp->is_success)
4056 0 0 if $opt->{'optional'}
4060 0 0 if $opt->{'glob'}
4071 3 11 unless (my $fh = "IO::File"->new($self->expand_tilde($file), "<:encoding($encoding)"))
4072 1 2 if $opt->{'optional'}
4076 4 7 unless $opt->{'glob'}
4085 14 0 unless load_package("LWP::UserAgent")
4088 0 0 unless load_package("URI")
4091 0 0 unless load_package("LWP::Protocol")
4094 0 0 unless my $obj = "URI"->new($url)
4096 0 0 unless $obj->can("authority")
4099 0 0 unless defined(my $scheme = $obj->scheme)
4101 0 0 unless LWP::Protocol::implementor($scheme)
4112 4 1 unless $opt->{'glob'}
4116 0 5 unless $buffer =~ / \n \z /msx
4125 1 1 unless $opt->{'glob'}
4130 0 5 unless $buffer =~ / \n \z /msx
4140 1 1 if $opt->{'glob'}
4141 0 1 $opt->{'encoding'} ? :
4143 0 1 unless my $fh = "IO::File"->new($file, $mode)
4158 1 7 if $self->{'sky'}[$inx]->get("name") =~ /$re/
4192 52 7 $frames ? :
4198 22 37 exists $opt->{'condition'} ? :
4240 22 31 if @args > 1
4243 26 27 @args && defined $args[0] ? :
4245 0 52 unless my $frame = pop @{$$self{"frame"};}
4250 1 1 if (exists $self->{$name} and not $force_set{$name}) { }
4263 0 52 if $frame->{'spacetrack'} and %{$frame->{'spacetrack'};}
4265 0 53 if (delete $self->{'pending'})
4284 0 0 unless defined $val
4285 0 0 unless defined $val and "" ne $val
4288 0 0 unless 1 eq $val
4321 0 0 unless $kode{$mod}
4354 0 41 $opt && $opt->{'dump'} ? :
4370 0 0 unless (exists $self->{'geocoder'})
4372 0 0 if $class = &$default_geocoder()
4423 0 1 if ($self->_get_interactive) { }
4425 0 0 unless load_package("Term::ReadLine")
4427 0 0 unless ($rl)
4429 0 0 if ("Term::ReadLine::Perl" eq $rl->ReadLine)
4444 0 0 unless defined $buffer
4448 0 0 unless defined $buffer
4453 0 0 unless eval { do { return unless load_package("Term::ReadLine"); unless ($rl) { $rl = "Term::ReadLine"->new("satpass2"); if ("Term::ReadLine::Perl" eq $rl->ReadLine) { $readline_word_break_re ||= qr/ [\Q$readline::rl_completer_word_break_characters\E]+ /msx; BEGIN {${^WARNING_BITS} = "\x54\x55\x55\x45\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x05"} $readline::rl_completion_function = sub { my($text, $line, $start) = @_; return $self->__readline_completer($text, $line, $start); } ; } ; } ; sub { return $buffer unless defined $buffer; return $buffer = $rl->readline($_[0]); } } }
4456 0 0 unless defined $buffer
4469 0 0 unless $start
4477 0 0 if not $cmd =~ s/ \A core [.] //msx and ref $app and $app->{'macro'}{$cmd}
4480 0 0 if ('CODE' eq ref $code) { }
0 0 elsif (my $macro = $app->{'macro'}{$cmd}) { }
4485 0 0 if (my $method = $app->__get_attr($code, "Tweak", {})->{'completion'})
4488 0 0 if $rslt = $app->$method($code, $text, $line, $start)
4494 0 0 if $rslt = $app->_readline_complete_options($code, $text, $line, $start) and @{$rslt;}
4501 0 0 if $rslt = $macro->completion($text)
4505 0 0 if (1 == @files) { }
0 0 elsif ($readline::var_CompleteAddsuffix) { }
4506 0 0 -d $files[0] ? :
4509 0 0 if (-l $_) { }
0 0 elsif (-d $_) { }
0 0 elsif (-x _) { }
0 0 elsif (-S _ or -p _) { }
4528 0 0 unless (@builtins)
4532 0 0 if $sym =~ / \A _ /msx
4534 0 0 unless my $code = $app->can($sym)
4536 0 0 unless $app->__get_attr($code, "Verb")
4543 0 0 if ($text =~ s/ \A core [.] //msx) { }
4549 0 0 ref $app ? :
4551 0 0 if 1 == @rslt and $rslt[0] =~ / \W \z /msx
4561 0 0 unless $text =~ / \A ( --? ) ( .* ) /msx
4568 0 0 if ref $_
4574 0 0 if @rslt
4583 0 0 if (my $code = $app->can("_$part[0]_sub"))
4587 0 0 if (2 == @part)
4592 0 0 if $key =~ /$re/msx
4598 0 0 unless my $code = $app->can("_$part[0]_sub_$part[1]")
4602 0 0 if $r = $app->_readline_complete_options($code, $text, $line, $start)
4607 0 0 unless my $complete = $app->__get_attr($code, "Tweak", {})->{'completion'}
4609 0 0 if $r = $app->$complete($code, $text, $line, $start)
4618 0 0 unless ref $app
4621 0 0 unless 3 == @part
4626 0 0 if /$re/msx
4635 0 0 unless ref $app
4638 0 0 unless 3 == @part
4643 0 0 if ((my $name = $body->get('name')) =~ /$re/) { }
0 0 elsif ((my $id = $body->get('id')) =~ /$re/) { }
4661 0 0 if @parts
4678 7 0 unless exists $self->{'spacetrack'}
4690 7 0 unless &$have_astro_spacetrack()
4701 4 6 unless defined $day
4704 10 0 $gmt ? :
4707 10 0 $gmt ? :
4712 21 21 unless defined $day
4715 42 0 $gmt ? :
4719 42 0 $gmt ? :
4729 0 9 unless my $object = $self->get($attribute)
4770 9 0 unless exists $opt->{"raw"}
4772 0 9 unless defined $method
4775 0 9 if "config" eq $method
4779 0 9 unless not $method =~ / \A _ /msx and $object->can($method)
4785 1 4 if @args and $parse_input{$name} and $parse_input{$name}{$method}
4787 4 5 if delete $opt->{"raw"}
4790 3 2 if instance($rslt[0], ref $object)
4791 0 2 if ref $rslt[0]
4803 0 0 if $opt->{'raw'}
4820 0 0 unless ($status)
4823 0 0 unless $rslt->is_success
4826 0 0 if ('ARRAY' eq ref $status) { }
4855 0 0 if exists $os{$^O}
4869 38 1482 if "Astro::App::Satpass2::dispatch" eq $info[3]
4893 0 0 if "ARRAY" eq ref $module[0]
4894 0 0 unless @module
4897 0 0 unless (load_package($module))
4902 0 0 if ($version{$module} and $modver = $module->VERSION)
4904 0 0 if ($modver < $version{$module})
4915 0 0 if $clr[3] eq "(eval)"
4917 0 0 if substr($raw[-1], 0, 1) eq "_"
4935 0 19 unless $self->{'macro'}{$name}
4941 1 18 unless my $ok = eval { do { $output = $macro->execute($name, @args); 1 } }
4946 1 18 unless $ok
4965 0 9 unless defined $part
4968 0 9 $part =~ / [.] ( [0-9]+ ) /msx ? :
4971 3 0 if (my $mag = sprintf("%d", $circle / 360))
4981 7 33 'HASH' eq ref $args[0] ? :
4983 7 33 unless defined $angle
4985 2 31 if ($angle =~ / : /msx) { }
1 30 elsif ($angle =~ / \A ( [-+] )? ( [0-9]* ) d ( [0-9]* (?: [.] [0-9]* )? ) (?: m ( [0-9]* (?: [.] [0-9]* )? ) s? )? \z /imsx) { }
5005 0 1 if $sgn and "-" eq $sgn
5010 0 30 unless $opt->{'accept'} or &looks_like_number($angle)
5030 0 3 unless defined $dfdist
5031 3 0 $dfdist =~ s/ ( [[:alpha:]]+ ) \z //msx ? :
5032 0 3 $string =~ s/ \s* ( [[:alpha:]]+ ) \z //msx ? :
5034 0 3 unless $units{$units}
5036 0 3 unless $string ne ""
5037 0 3 unless &looks_like_number($string)
5048 0 55 unless my $pt = $self->{'time_parser'}
5049 0 55 if $self->{'time_parser'}->can("station")
5052 55 0 if (defined(my $time = $pt->parse($time, $default)))
5065 21 311 unless defined(my $pt = $self->{'time_parser'})
5098 1 14 unless ($in and defined(my $more = &$in(my $prompt = $self->get("continuation_prompt"))))
5099 0 1 unless $error
5100 0 1 if ref $error eq "CODE"
5104 0 14 if $self->{'echo'}
5105 4 10 unless $more =~ / \n \z /msx
5117 0 0 unless $new_obj or $self->{'sky_class'}{CORE::fc $name}
5119 0 0 unless defined(my $inx = $self->_find_in_sky($name))
5202 7 12 unless defined $buffer
5204 0 12 if $buffer =~ / \A \s* \z /msx
5206 0 12 if $buffer =~ s/ \A \s* [#] 2 [#] \s* //msx
5208 0 12 if $buffer =~ / \A \s* [#] /msx
5211 12 0 unless (defined $command)
5212 1 11 unless $buffer =~ / \A \s* ( \w+ ) /msx
5217 8 3 if $buffer =~ s/ ( \s* \\? \n ) //msx
5220 0 11 if $append =~ / \\ /msx
5226 9 13 if (not defined $start_pos) { }
9 4 elsif ($1 eq $this_quote) { }
5239 8 3 unless my $code = $level1_map{$command}
5367 7 1 if (/ ( \S+ ) /msx and !$self->{'macro'}{$1} || $1 eq $name and my $code = $filter{$1}) { }
5378 7 1 $rewrote ? :
5420 0 0 unless my(@rslt) = $simbad->script(qq[format obj "$fmt"\nquery id $query\n])
5425 0 0 if @rslt > 1
5427 0 0 $rslt[0]{$_} eq '~' ? :
5429 0 0 unless $rslt[0] and $rslt[1]
5431 0 0 $rslt[2] ? :
5432 0 0 if $rslt[3]
5433 0 0 if $rslt[4]
5434 0 0 wantarray ? :
5442 5 0 $opt_value ? :
5448 24 0 if ($fmtr->can("__list_templates"))
5450 628 44 unless $_ =~ /$re/
5583 379 2 'HASH' eq ref $parms[0] ? :
5586 346 35 unless $buffer =~ / \n \z /msx
5608 621 5691 if ($absquote) { }
10 5681 elsif ($char eq '\\') { }
35 5646 elsif ($char eq q['] and not $relquote) { }
44 5602 elsif ($char eq '"') { }
937 4665 elsif ($char =~ / \s /msx and not $relquote and not $opt->{'single'}) { }
72 4593 elsif ($char eq '$' and $inx < $len) { }
6 4587 elsif ($char =~ / [<>|] /msx) { }
3744 843 elsif (exists $rslt[-1]{'token'} or $relquote) { }
12 831 elsif ($char eq '~') { }
2 829 elsif ($char eq '#') { }
5609 0 621 if ($char eq '\\') { }
34 587 elsif ($char eq q[']) { }
5610 0 0 if ((my $next = substr($buffer, $inx, 1)) =~ / ['\\] /msx) { }
5621 2 585 if ($inx >= $len)
5633 2 8 if ($inx >= $len) { }
7 1 elsif ($relquote) { }
5634 0 2 if ($relquote) { }
5640 2 0 unless $opt->{'single'}
5644 6 1 if (my $code = $case_ctl{$next}) { }
5669 22 22 unless $relquote = !$relquote
5690 34 38 if ($name eq '{' and $inx < $len) { }
21 17 elsif ($name =~ / \A [[:alpha:]_] \z /msx) { }
5696 0 369 if ($char eq '{') { }
33 336 elsif ($char eq '}') { }
5699 33 0 unless --$nest
5703 1 33 unless $char eq "}"
5716 21 0 if ($buffer =~ / \G ( \w* (?: [.] \w+ )? ) /cgmsx)
5726 33 38 if $brkt
5731 28 43 if ($name =~ / (.*?) ( [:]? [\-\+\=\?] | [:] ) (.*) /msx) { }
5736 0 28 if $indirect
5768 4 24 ref $value ? :
5773 4 24 if ($flag eq '+') { }
16 8 elsif ($defined) { }
2 6 elsif ($flag eq '-') { }
3 3 elsif ($flag eq '=') { }
2 1 elsif ($flag eq '?') { }
1 0 elsif ($flag eq '') { }
5774 2 2 $defined ? :
5782 10 6 if ($flag eq "")
5787 0 10 if @pos > 2
5791 0 18 unless / \A [-+]? [0-9]+ \z /msx
5796 4 6 if (ref $value) { }
5797 4 0 if (@pos > 1) { }
5802 2 2 if $pos[1] > $#$value
5808 2 4 @pos == 1 ? :
5827 0 3 if ($special{$name} or not $name =~ / \D /msx) { }
0 3 elsif (exists $mutator{$name}) { }
5868 3 40 if $indirect
5877 49 7 defined $value ? :
56 13 unless ref $value
5881 12 57 if ($relquote) { }
5895 58 11 if (@{$value;})
5916 4 2 $char eq '<' ? :
0 6 $char eq '|' ? :
5924 0 11 if $next =~ / \s /msx
5925 6 5 if ($next eq $char) { }
5927 1 5 if length $rslt[-1]{'mode'} > 2
5936 4 1 if ("<<" eq $rslt[-1]{'mode'})
5943 2 60 if ($next =~ / \s /msx) { }
5944 2 0 unless $quote
5950 4 2 unless "" eq $rslt[-1]{'token'} and $next =~ / ['"] /msx and $quote = $next
5953 2 32 if $quote and $next eq $quote and $rslt[-1]{'token'} ne ""
5957 2 2 if $quote
5965 4 5 if $buffer eq $look_for
5968 3 1 if ($quote ne "'")
6006 2 374 if ($inx >= $len and $absquote || $relquote)
6007 0 2 $absquote ? :
6022 0 376 if $absquote
6023 0 376 if $relquote
6029 0 376 if (defined $rslt[0]{'token'} and $rslt[0]{'token'} =~ s/ \A ( $command_equiv_re ) //msx)
6031 0 0 if ($rslt[0]{'token'} eq '') { }
0 0 elsif ($opt->{'single'}) { }
6049 252 124 if (defined $rslt[0]{'token'} and my $kode = $self->can($rslt[0]{'token'}))
6051 2 250 if (my $hash = $self->__get_attr($kode, "Tokenize"))
6056 352 966 unless exists $_->{'token'}
6057 1 965 if ($_->{'redirect'}) { }
12 953 elsif ($expand_tildes and $_->{'tilde'}) { }
6058 0 1 if ($_->{'mode'} eq '<') { }
6067 1 0 $_->{'expand'} ? :
6080 31 0 if $opt->{'single'} and $opt->{'noredirect'}
6085 0 341 if $opt->{'noredirect'}
6098 0 0 $indirect ? :
0 74 unless defined $name and $name ne ""
6101 19 55 if ($special{$name})
6103 0 19 $indirect && ref $val ? :
6106 15 40 unless $name =~ / \D /msx
6110 6 34 unless "Null" eq ref $value
6114 2 32 if exists $self->{'exported'}{$name}
6117 18 14 if defined $ENV{$name}
6121 3 14 if defined $frame->{'define'}{$name}
6136 12 3747 if $self->{'_case_mod'}{'case'}
6139 2 3757 if $code = delete $self->{'_case_mod'}{'single'}
6162 1 0 if ($self->get('error_out')) { }