|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
12
 | 
 12  | 
 0  | 
 if ('File::Spec'->can('rel2abs'))  | 
 
| 
14
 | 
 135  | 
 0  | 
 unless ref $inc  | 
 
| 
17
 | 
 12  | 
 0  | 
 if exists $SIG{'WINCH'}  | 
 
| 
186
 | 
 0  | 
 1  | 
 if ($CPAN::Signal)  | 
 
| 
191
 | 
 0  | 
 1  | 
 if ($CPAN::autoload_recursion > 1)  | 
 
| 
199
 | 
 1  | 
 0  | 
 unless $CPAN::Config_loaded++  | 
 
| 
200
 | 
 0  | 
 1  | 
 if (exists $export{$l}) { }  | 
 
| 
219
 | 
 0  | 
 0  | 
 if (s/^\s*>//) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (s/^\s*\|\s*//) { }  | 
 
| 
220
 | 
 0  | 
 0  | 
 s/^>// ? :  | 
 
| 
222
 | 
 0  | 
 0  | 
 unless length $_  | 
 
| 
223
 | 
 0  | 
 0  | 
 unless defined $_  | 
 
| 
224
 | 
 0  | 
 0  | 
 unless open STDOUT, ">$m$_"  | 
 
| 
231
 | 
 0  | 
 0  | 
 unless open STDOUT, $pipe  | 
 
| 
240
 | 
 0  | 
 0  | 
 unless $redir  | 
 
| 
245
 | 
 0  | 
 0  | 
 if "$@"  | 
 
| 
259
 | 
 0  | 
 0  | 
 unless defined $CPAN::Suppress_readline  | 
 
| 
260
 | 
 0  | 
 0  | 
 unless $CPAN::Config_loaded++  | 
 
| 
268
 | 
 0  | 
 0  | 
 unless ($CPAN::Suppress_readline)  | 
 
| 
270
 | 
 0  | 
 0  | 
 if (not $CPAN::term or $CPAN::term->ReadLine eq 'Term::ReadLine::Stub')  | 
 
| 
276
 | 
 0  | 
 0  | 
 if ($CPAN::term->ReadLine eq 'Term::ReadLine::Gnu') { }  | 
 
| 
285
 | 
 0  | 
 0  | 
 if (my $histfile = $CPAN::Config->{'histfile'})  | 
 
| 
286
 | 
 0  | 
 0  | 
 unless ($CPAN::term->can('AddHistory'))  | 
 
| 
294
 | 
 0  | 
 0  | 
 if defined $_  | 
 
| 
305
 | 
 0  | 
 0  | 
 if defined $_  | 
 
| 
 | 
 0  | 
 0  | 
 'File::Spec'->can('tmpdir') ? :  | 
 
| 
310
 | 
 0  | 
 0  | 
 if $CPAN::term  | 
 
| 
311
 | 
 0  | 
 0  | 
 unless ($CPAN::Config->{'inhibit_startup_message'})  | 
 
| 
312
 | 
 0  | 
 0  | 
 $CPAN::term->ReadLine ne 'Term::ReadLine::Stub' ? :  | 
 
| 
 | 
 0  | 
 0  | 
 $CPAN::Suppress_readline ? :  | 
 
| 
327
 | 
 0  | 
 0  | 
 if ($CPAN::Suppress_readline) { }  | 
 
| 
328
 | 
 0  | 
 0  | 
 if ($CPAN::Echo_readline)  | 
 
| 
332
 | 
 0  | 
 0  | 
 unless defined($_ = )  | 
 
| 
333
 | 
 0  | 
 0  | 
 if ($CPAN::Echo_readline)  | 
 
| 
340
 | 
 0  | 
 0  | 
 unless defined($_ = $CPAN::term->readline($prompt, $commandline))  | 
 
| 
342
 | 
 0  | 
 0  | 
 if $continuation  | 
 
| 
344
 | 
 0  | 
 0  | 
 if /^$/  | 
 
| 
346
 | 
 0  | 
 0  | 
 if (/^(?:q(?:uit)?|bye|exit)\s*$/i) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (s/\\$//s) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (/^\!/) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (/./) { }  | 
 
| 
359
 | 
 0  | 
 0  | 
 unless $CPAN::Eval::import_done++  | 
 
| 
360
 | 
 0  | 
 0  | 
 if $CPAN::DEBUG  | 
 
| 
362
 | 
 0  | 
 0  | 
 if $@  | 
 
| 
368
 | 
 0  | 
 0  | 
 if $@  | 
 
| 
369
 | 
 0  | 
 0  | 
 unless @line  | 
 
| 
371
 | 
 0  | 
 0  | 
 if $CPAN::DEBUG  | 
 
| 
381
 | 
 0  | 
 0  | 
 if ($command_error)  | 
 
| 
383
 | 
 0  | 
 0  | 
 if (ref $err and $err->isa('CPAN::Exception::blocked_urllist')) { }  | 
 
| 
388
 | 
 0  | 
 0  | 
 if ($err =~ /\S/)  | 
 
| 
396
 | 
 0  | 
 0  | 
 if ($command =~ /^(
                             # classic commands
                             make
                             |test
                             |install
                             |clean
                             # pragmas for classic commands
                             |ff?orce
                             |notest
                             # compounds
                             |report
                             |smoke
                             |upgrade
                            )$/x)  | 
 
| 
415
 | 
 0  | 
 0  | 
 if (my $err = $@)  | 
 
| 
416
 | 
 0  | 
 0  | 
 unless (ref $err and $reported_error eq ref $err)  | 
 
| 
433
 | 
 0  | 
 0  | 
 if ($try_detect_readline)  | 
 
| 
434
 | 
 0  | 
 0  | 
 if ($CPAN::META->has_inst('Term::ReadLine::Gnu') or $CPAN::META->has_inst('Term::ReadLine::Perl'))  | 
 
| 
447
 | 
 0  | 
 0  | 
 if ($CPAN::term and $CPAN::term->can('ornaments'))  | 
 
| 
449
 | 
 0  | 
 0  | 
 if (defined $_) { }  | 
 
| 
450
 | 
 0  | 
 0  | 
 if (not defined $last_term_ornaments or $_ != $last_term_ornaments)  | 
 
| 
465
 | 
 0  | 
 0  | 
 unless $CPAN::META->{'readwrite'}{"CPAN::$class"}{$dm}{'incommandcolor'}  | 
 
| 
470
 | 
 0  | 
 0  | 
 if ($CPAN::GOTOSHELL)  | 
 
| 
472
 | 
 0  | 
 0  | 
 if $CPAN::term and $CPAN::term->can('GetHistory')  | 
 
| 
483
 | 
 0  | 
 0  | 
 unless (@$cwd)  | 
 
| 
491
 | 
 0  | 
 0  | 
 if (CPAN::chdir($cwd->[0])) { }  | 
 
| 
494
 | 
 0  | 
 0  | 
 if (@$cwd > 1) { }  | 
 
| 
508
 | 
 0  | 
 0  | 
 if ($Config::Config{'d_flock'} or $Config::Config{'d_fcntl_can_lock'}) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (not $CPAN::Have_warned->{'d_flock'}++) { }  | 
 
| 
521
 | 
 0  | 
 3  | 
 if ($yaml_module ne 'YAML' and not $CPAN::META->has_inst($yaml_module))  | 
 
| 
529
 | 
 0  | 
 0  | 
 if ($yaml_module eq 'YAML' and $CPAN::META->has_inst($yaml_module) and $YAML::VERSION < 0.6 and not $CPAN::Have_warned->{'YAML'}++)  | 
 
| 
548
 | 
 0  | 
 0  | 
 unless -s $local_file  | 
 
| 
550
 | 
 0  | 
 0  | 
 if ($CPAN::META->has_inst($yaml_module)) { }  | 
 
| 
559
 | 
 0  | 
 0  | 
 if ($code = UNIVERSAL::can($yaml_module, 'LoadFile')) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($code = UNIVERSAL::can($yaml_module, 'Load')) { }  | 
 
| 
561
 | 
 0  | 
 0  | 
 if ($@)  | 
 
| 
567
 | 
 0  | 
 0  | 
 unless open FH, $local_file  | 
 
| 
571
 | 
 0  | 
 0  | 
 if ($@)  | 
 
| 
589
 | 
 0  | 
 0  | 
 if ($CPAN::META->has_inst($yaml_module)) { }  | 
 
| 
591
 | 
 0  | 
 0  | 
 if (UNIVERSAL::isa($local_file, 'FileHandle')) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($code = UNIVERSAL::can($yaml_module, 'DumpFile')) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($code = UNIVERSAL::can($yaml_module, 'Dump')) { }  | 
 
| 
598
 | 
 0  | 
 0  | 
 unless open FH, ">$local_file"  | 
 
| 
601
 | 
 0  | 
 0  | 
 if ($@)  | 
 
| 
605
 | 
 0  | 
 0  | 
 if (UNIVERSAL::isa($local_file, 'FileHandle')) { }  | 
 
| 
614
 | 
 0  | 
 0  | 
 unless ($CPAN::META->has_inst('CPAN::SQLite'))  | 
 
| 
616
 | 
 0  | 
 0  | 
 unless $CPAN::Have_warned->{'CPAN::SQLite'}++  | 
 
| 
626
 | 
 126  | 
 1  | 
 if ($negative_cache->{'time'} and time < $negative_cache->{'time'} + 60) { }  | 
 
| 
633
 | 
 0  | 
 1  | 
 if $ret  | 
 
| 
648
 | 
 0  | 
 0  | 
 if (defined $dll)  | 
 
| 
649
 | 
 0  | 
 0  | 
 -f $dll ? :  | 
 
| 
651
 | 
 0  | 
 0  | 
 -f &find_perl() ? :  | 
 
| 
658
 | 
 0  | 
 0  | 
 if ($other_fingerprint) { }  | 
 
| 
659
 | 
 0  | 
 0  | 
 if (exists $other_fingerprint->{'stat($^X)'})  | 
 
| 
664
 | 
 0  | 
 0  | 
 unless $other_fingerprint->{$key} eq $this_fingerprint->{$key}  | 
 
| 
673
 | 
 0  | 
 0  | 
 if (not $INC{'CPAN/MyConfig.pm'})  | 
 
| 
679
 | 
 0  | 
 0  | 
 if ($new =~ /^y/i) { }  | 
 
| 
691
 | 
 0  | 
 0  | 
 unless $CPAN::Config_loaded++  | 
 
| 
692
 | 
 0  | 
 0  | 
 if $CPAN::DEBUG  | 
 
| 
706
 | 
 0  | 
 0  | 
 if (-f $lockfile and -M _ > 0)  | 
 
| 
707
 | 
 0  | 
 0  | 
 unless my $fh = 'FileHandle'->new($lockfile)  | 
 
| 
712
 | 
 0  | 
 0  | 
 if (defined $otherpid and length $otherpid)  | 
 
| 
715
 | 
 0  | 
 0  | 
 if (defined $otherhost and length $otherhost)  | 
 
| 
720
 | 
 0  | 
 0  | 
 if (defined $otherhost and defined $thishost and $otherhost ne '' and $thishost ne '' and $otherhost ne $thishost) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($CPAN::RUN_DEGRADED) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (defined $otherpid and $otherpid) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($^O eq 'MSWin32') { }  | 
 
| 
730
 | 
 0  | 
 0  | 
 if $$ == $otherpid  | 
 
| 
735
 | 
 0  | 
 0  | 
 if (kill 0, $otherpid or $!{'EPERM'}) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (-w $lockfile) { }  | 
 
| 
743
 | 
 0  | 
 0  | 
 unless $ans =~ /^y/i  | 
 
| 
764
 | 
 0  | 
 0  | 
 if ($ask_if_degraded_wanted)  | 
 
| 
769
 | 
 0  | 
 0  | 
 if ($ans =~ /^y/i) { }  | 
 
| 
785
 | 
 0  | 
 0  | 
 if (defined $otherpid)  | 
 
| 
797
 | 
 0  | 
 0  | 
 if ($@)  | 
 
| 
802
 | 
 0  | 
 0  | 
 if (-l $dotcpan)  | 
 
| 
804
 | 
 0  | 
 0  | 
 unless defined $symlinkcpan  | 
 
| 
806
 | 
 0  | 
 0  | 
 if ($@) { }  | 
 
| 
814
 | 
 0  | 
 0  | 
 unless (-d $dotcpan)  | 
 
| 
819
 | 
 0  | 
 0  | 
 if $seconderror  | 
 
| 
837
 | 
 0  | 
 0  | 
 unless ($CPAN::RUN_DEGRADED or $self->{'LOCKFH'})  | 
 
| 
839
 | 
 0  | 
 0  | 
 unless ($fh = 'FileHandle'->new("+>>$lockfile"))  | 
 
| 
859
 | 
 0  | 
 0  | 
 if ($sleep > 10)  | 
 
| 
882
 | 
 0  | 
 0  | 
 if $CPAN::Signal  | 
 
| 
883
 | 
 0  | 
 0  | 
 if $CPAN::Signal > 1  | 
 
| 
884
 | 
 0  | 
 0  | 
 if $CPAN::Signal  | 
 
| 
911
 | 
 0  | 
 0  | 
 if $CPAN::DEBUG  | 
 
| 
952
 | 
 12  | 
 0  | 
 if ('File::Spec'->file_name_is_absolute($^X)) { }  | 
 
| 
963
 | 
 0  | 
 0  | 
 if (defined $path and length $path and -d $path)  | 
 
| 
967
 | 
 0  | 
 0  | 
 if ($^O eq 'VMS') { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (defined $exe and length $exe) { }  | 
 
| 
969
 | 
 0  | 
 0  | 
 unless $perl =~ /$exe(;\d+)?$/i  | 
 
| 
972
 | 
 0  | 
 0  | 
 unless $perl =~ /$exe$/i  | 
 
| 
979
 | 
 0  | 
 0  | 
 if ('MM'->maybe_command($perl) and _perl_is_same($perl))  | 
 
| 
991
 | 
 0  | 
 31  | 
 unless $CPAN::Config_loaded++  | 
 
| 
995
 | 
 10  | 
 21  | 
 if $class eq 'CPAN::Module'  | 
 
| 
997
 | 
 0  | 
 31  | 
 if (_sqlite_running()) { }  | 
 
| 
1018
 | 
 112  | 
 4  | 
 if $CPAN::HAS_USABLE->{$mod}  | 
 
| 
1020
 | 
 0  | 
 4  | 
 unless $has_inst  | 
 
| 
1030
 | 
 0  | 
 1  | 
 unless ('CPAN::Version'->vge('CPAN::Meta'->VERSION, 2.11035))  | 
 
| 
1042
 | 
 0  | 
 0  | 
 unless ('CPAN::Version'->vge('CPAN::Meta::Requirements'->VERSION, 2.12092))  | 
 
| 
1058
 | 
 0  | 
 0  | 
 unless ('CPAN::Version'->vge('URI::URL'->VERSION, 0.08))  | 
 
| 
1069
 | 
 0  | 
 0  | 
 if ($var and $var =~ /^http:/i)  | 
 
| 
1083
 | 
 0  | 
 0  | 
 unless ('CPAN::Version'->vge('HTTP::Tiny'->VERSION, 0.005))  | 
 
| 
1093
 | 
 0  | 
 0  | 
 unless ('CPAN::Version'->vge('File::HomeDir'->VERSION, 0.52))  | 
 
| 
1104
 | 
 0  | 
 1  | 
 unless ('CPAN::Version'->vge('Archive::Tar'->VERSION, $demand))  | 
 
| 
1121
 | 
 0  | 
 0  | 
 unless ('CPAN::Version'->vge('File::Temp'->VERSION, 0.16))  | 
 
| 
1130
 | 
 2  | 
 2  | 
 if ($usable->{$mod})  | 
 
| 
1132
 | 
 0  | 
 2  | 
 if $INC[-1] eq '.'  | 
 
| 
1136
 | 
 0  | 
 2  | 
 unless defined $ret  | 
 
| 
1137
 | 
 0  | 
 2  | 
 if ($@)  | 
 
| 
1148
 | 
 0  | 
 0  | 
 if @_  | 
 
| 
1155
 | 
 0  | 
 8  | 
 unless ($self->has_inst($module))  | 
 
| 
1163
 | 
 0  | 
 48  | 
 unless defined $mod  | 
 
| 
1165
 | 
 41  | 
 7  | 
 unless $CPAN::META->{'dontload_hash'}  | 
 
| 
1166
 | 
 48  | 
 0  | 
 unless $CPAN::Config->{'dontload_hash'}  | 
 
| 
1167
 | 
 48  | 
 0  | 
 unless $CPAN::Config->{'dontload_list'}  | 
 
| 
1168
 | 
 9  | 
 39  | 
 if (defined $message and $message eq 'no' or $dont{$mod})  | 
 
| 
1176
 | 
 0  | 
 39  | 
 if $INC[-1] eq '.'  | 
 
| 
1181
 | 
 26  | 
 13  | 
 if ($INC{$file}) { }  | 
 
| 
 | 
 7  | 
 6  | 
 elsif (eval {
	do {
	require $file
}
}) { }  | 
 
| 
 | 
 0  | 
 6  | 
 elsif ($mod eq 'Net::FTP') { }  | 
 
| 
 | 
 0  | 
 6  | 
 elsif ($mod eq 'Digest::SHA') { }  | 
 
| 
 | 
 0  | 
 6  | 
 elsif ($mod eq 'Module::Signature') { }  | 
 
| 
1199
 | 
 7  | 
 0  | 
 $v ? :  | 
 
| 
1201
 | 
 0  | 
 7  | 
 if ($mod eq 'CPAN::WAIT')  | 
 
| 
1211
 | 
 0  | 
 0  | 
 unless $CPAN::Have_warned->{'Net::FTP'}++  | 
 
| 
1214
 | 
 0  | 
 0  | 
 if ($CPAN::Have_warned->{'Digest::SHA'}++) { }  | 
 
| 
1228
 | 
 0  | 
 0  | 
 if (not $check_sigs) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (not $CPAN::Have_warned->{'Module::Signature'}++) { }  | 
 
| 
1233
 | 
 0  | 
 0  | 
 if (eval {
	do {
	require Crypt::OpenPGP;
1
}
} or defined $CPAN::Config->{'gpg'} and $CPAN::Config->{'gpg'} =~ /\S/)  | 
 
| 
1262
 | 
 4  | 
 39  | 
 if exists $CPAN::META->{'readwrite'}{$class}{$id}  | 
 
| 
1286
 | 
 12  | 
 12  | 
 if $subroutine eq '(eval)'  | 
 
| 
1289
 | 
 0  | 
 12  | 
 if $ineval and not $CPAN::End  | 
 
| 
1290
 | 
 12  | 
 0  | 
 unless defined $CPAN::META->{'LOCK'}  | 
 
| 
1291
 | 
 0  | 
 0  | 
 unless -f $CPAN::META->{'LOCK'}  | 
 
| 
1298
 | 
 0  | 
 0  | 
 if ($CPAN::CONFIG_DIRTY)  | 
 
| 
1311
 | 
 0  | 
 0  | 
 if defined $term->Attribs->{'MaxHistorySize'}  | 
 
| 
1313
 | 
 0  | 
 0  | 
 unless open $fh, "<$histfile"  | 
 
| 
1326
 | 
 0  | 
 0  | 
 unless ($histfile = $CPAN::Config->{'histfile'})  | 
 
| 
1331
 | 
 0  | 
 0  | 
 if ($CPAN::term) { }  | 
 
| 
1332
 | 
 0  | 
 0  | 
 unless ($CPAN::term->can('GetHistory'))  | 
 
| 
1340
 | 
 0  | 
 0  | 
 if @h > $histsize  | 
 
| 
1342
 | 
 0  | 
 0  | 
 unless open $fh, ">$histfile"  | 
 
| 
1351
 | 
 0  | 
 0  | 
 unless ($what)  | 
 
| 
1379
 | 
 0  | 
 0  | 
 if ($foul) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (-e $_) { }  | 
 
| 
1381
 | 
 0  | 
 0  | 
 if ($foul) { }  | 
 
| 
1385
 | 
 0  | 
 0  | 
 if ($d->{'build_dir'} and $d->{'build_dir'} eq $dbd)  | 
 
| 
1406
 | 
 0  | 
 0  | 
 unless ($for)  | 
 
| 
1411
 | 
 0  | 
 0  | 
 unless %{$self->{'is_tested'};}  | 
 
| 
1413
 | 
 0  | 
 0  | 
 unless defined $env  | 
 
| 
1415
 | 
 0  | 
 0  | 
 if defined $env and length $env  | 
 
| 
1420
 | 
 0  | 
 0  | 
 unless @dirs  | 
 
| 
1422
 | 
 0  | 
 0  | 
 if (@dirs < 12) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (@dirs < 24) { }  |