App-pmuninstall
view release on metacpan or search on metacpan
# SYNOPSIS
uninstall MODULE
$ pm-uninstall App::pmuninstall
# OPTIONS
- -f, --force
Uninstalls without prompts
$ pm-uninstall -f App::pmuninstall
- -v, --verbose
Turns on chatty output
$ pm-uninstall -v App::cpnaminus
- -c, --checkdeps
lib/App/pmuninstall.pm view on Meta::CPAN
my $default = 'y';
if (@deps) {
$self->puts("Also, they're depended on by the following installed dists:\n");
for my $dep (@deps) {
$self->puts(" $dep");
}
$self->puts;
$default = 'n';
}
return lc($self->prompt("Are you sure you want to uninstall $dist?", $default)) eq 'y';
}
sub find_deps {
my ($self, $vname, $module) = @_;
return unless $self->{check_deps} && !$self->{force};
$vname ||= $self->vname_for($module) or return;
$self->puts("Checking modules depending on $vname") if $self->{verbose};
my $content = $self->fetch("$depended_on_by$vname") or return;
lib/App/pmuninstall.pm view on Meta::CPAN
$dep =~ s/^\s+|\s+$//smg; # trim
next if $seen{$dep}++;
local $OUTPUT_INDENT_LEVEL = $OUTPUT_INDENT_LEVEL + 1;
$self->puts("Finding $dep in your \@INC (dependencies)") if $self->{verbose};
push @deps, $dep if $self->locate_pack($dep);
}
return @deps;
}
sub prompt {
my ($self, $msg, $default) = @_;
require ExtUtils::MakeMaker;
ExtUtils::MakeMaker::prompt($msg, $default);
}
sub fixup_packlist {
my ($self, $packlist) = @_;
my @target_list;
my $is_local_lib = $self->is_local_lib($packlist);
my $plist = ExtUtils::Packlist->new($packlist);
while (my $file = each %$plist) {
if ($is_local_lib) {
next unless $self->is_local_lib($file);
lib/App/pmuninstall.pm view on Meta::CPAN
}
sub usage {
my $self = shift;
$self->puts(<< 'USAGE');
Usage:
pm-uninstall [options] Module [...]
options:
-v,--verbose Turns on chatty output
-f,--force Uninstalls without prompts
-c,--checkdeps Check dependencies (defaults to on)
-n,--no-checkdeps Don't check dependencies
-q,--quiet Suppress some messages
-h,--help This help message
-V,--version Show version
-l,--local-lib Additional module path
-L,--local-lib-contained Additional module path (don't include non-core modules)
USAGE
exit 1;
lib/App/pmuninstall.pm view on Meta::CPAN
uninstall MODULE
$ pm-uninstall App::pmuninstall
=head1 OPTIONS
=over
=item -f, --force
Uninstalls without prompts
$ pm-uninstall -f App::pmuninstall
=item -v, --verbose
Turns on chatty output
$ pm-uninstall -v App::cpnaminus
=item -c, --checkdeps
script/pm-uninstall view on Meta::CPAN
=head1 NAME
pm-uninstall - Uninstall modules
=head1 SYNOPSIS
pm-uninstall [options] Module ...
options:
-v,--verbose Turns on chatty output
-f,--force Uninstalls without prompts
-c,--checkdeps Check dependencies (defaults to on)
-n,--no-checkdeps Don't check dependencies
-q,--quiet Suppress some messages
-h,--help This help message
-V,--version Show version
-l,--local-lib Additional module path
-L,--local-lib-contained Additional module path (don't include non-core modules)
=cut
( run in 0.599 second using v1.01-cache-2.11-cpan-0b5f733616e )