/ use File::Path(); my %paths = ( 'londaemons' => '/home/httpd/perl', 'apache' => '/home/httpd/lib/perl/Apache', 'londocroot' => '/home/httpd/html', ); my %files = ( 'londaemons' => ['lonManage','lchtmldir','lonhttpd','lcuseradd','lonc'], 'apache' => ['londropadd.pm','lonconstruct.pm', 'admbookmarks.pm','lonassignments.pm'], 'londocroot' => ['adm/rat/extpickcode.html', 'adm/rat/extpickframe.html'], ); my %dirs = ( 'londocroot' => 'htmlarea', 'res/adm/pages/bookmarkmenu', ); my @filestodelete = (); my @dirstodelete = (); foreach my $key (sort(keys(%files))) { if ($paths{$key} ne '') { if (ref($files{$key}) eq 'ARRAY') { foreach my $file (@{$files{$key}}) { if (-f $paths{$key}.'/'.$file) { push(@filestodelete,$paths{$key}.'/'.$file); } } } } } foreach my $key (sort(keys(%dirs))) { if ($paths{$key} ne '') { if (ref($dirs{$key}) eq 'ARRAY') { foreach my $dir (@{$dirs{$key}}) { if (-d $paths{$key}.'/'.$dir) { push(@dirstodelete,$paths{$key}.'/'.$dir); } } } } } if (@dirstodelete > 0) { print "\nThe following directories were installed for an earlier version of LON-CAPA, and are no longer needed. It is recommended that you delete them. For each one, enter Y if you would the directory to be deleted.\n\n"; foreach my $dir (@dirstodelete) { next if (($dir =~/\*/) || ($dir eq '') || ($dir eq '/')); print "$dir -- delete? Enter: Y or N:\n"; my $choice=<>; chomp($choice); $choice =~ s/\s+//g; if ($choice eq 'Y') { File::Path::remove_tree($dir); } } } if (@filestodelete > 0) { print "\nThe following files were installed for an earlier version of LON-CAPA, and are no longer needed. It is recommended that you delete them. For each one, enter Y if you would the file to be deleted.\n\n"; foreach my $file (@filestodelete) { next if (($file =~/\*/) || ($file eq '') || ($file eq '/')); print "$file -- remove? Enter? Y or N:\n"; my $choice=<>; chomp($choice); $choice =~ s/\s+//g; if ($choice eq 'Y') { unlink($file); } } }