using ExtUtils: : Packlist to uninstall Padre 0.26

I tried to upgrade my Padre (the Perl IDE) on MS-Windows and broke it – so now I want to remove Padre.

There is a Perl module named: "ExtUtils : : Packlist" – used for manage .packlist files.

There is an example – used remove ALL installed modules.

I mada a slight change – to remove only a specified module – for example Padre.

(Don't worry – I'm going to re-install it later).

Here is the code:

————————————————————

#!/usr/local/bin/perl -w

 use strict;
 use IO:: Dir;
 use ExtUtils:: Packlist;
 use ExtUtils:: Installed;

 sub emptydir($) {
  my ($dir) = @_;
  my $dh = IO:: Dir->new($dir) || return(0);
  my @count = $dh->read();
  $dh->close();
  return(@count == 2 ? 1 : 0);
 }

 # Find all the installed packages
 print("Finding all installed modules...\n");
 my $installed = ExtUtils::Installed->new();

 foreach my $module (grep(/^Padre/, $installed->modules())) {
 my $version = $installed->version($module) || "???";
 print("Found module $module Version $version\n");
 print("Do you want to delete $module? [n] ");
 my $r = <STDIN>; chomp($r);
 if ($r && $r =~ /^y/i) {
 # Remove all the files
 foreach my $file (sort($installed->files($module))) {
  print("rm $file\n");
  unlink($file);
 }
 my $pf = $installed->packlist($module)->packlist_file();
 print("rm $pf\n");
 unlink($pf);
 foreach my $dir (sort($installed->directory_tree($module))) {
   if (emptydir($dir)) {
    print("rmdir $dir\n");
    rmdir($dir);
    }
   }
  }
 }

————————————————————

About these ads

תגים: , ,

כתיבת תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s


הרשמה

קבל כל פוסט חדש ישירות לתיבת הדואר הנכנס.

הצטרפו אל 239 שכבר עוקבים אחריו

%d בלוגרים אהבו את זה: