#!/usr/bin/perl -w
use strict;
use 5.010;
use lib "template_stuff";
use html2;
use Net::FTP;
say "What keyword would you like to delete?";
my $word = <>;
chomp $word;
say "Delete everything associated with $word? (Y for yes)";
my $answer = <>;
chomp $answer;
die unless ( $answer eq 'Y' or 'y' );
# main data structure
my %vars = (
word => $word,
page => 'pages',
image => 'images',
css => 'css',
);
my $rvars = \%vars;
my $rftp = get_ftp_object();
my $rfiles = get_html_filenames( $rftp, $rvars );
my $rptr = kill_files( $rftp, $rvars, $rfiles );
my @killed = @$rptr;
say "killed were @killed ";
__END__
####
sub kill_files {
use Net::FTP;
use 5.010;
use Path::Class;
my ( $ftp, $rvars, $rfiles ) = @_;
my %vars = %$rvars;
my @files = @$rfiles;
my @killed_files;
# kill html files
for my $html (@files) {
my $obj = file( '', $vars{page}, $html );
my $string = $obj->stringify;
say "string is $string";
my $return = $ftp->delete($string);
if ($return) {
push( @killed_files, $html );
}
}
# chop off ending
foreach (@files) {
$_ =~ s/\.html//;
}
say "now files are @files";
# kill image directories
for my $dir (@files) {
my $obj = dir( '', $vars{image}, $dir );
my $string = $obj->stringify;
say "string is $string";
my $return = $ftp->rmdir($string,1);
if ($return) {
push( @killed_files, $dir );
}
}
# kill css file
my $css_obj = file( '', $vars{css}, $vars{word} . '1.css' );
my $string = $css_obj->stringify;
say "string is $string";
my $return = $ftp->delete($string);
if ($return) {
push( @killed_files, $html );
}
return \@killed_files;
}
####
Net::FTP=GLOB(0x92dc200)>>> DELE /images/potato1/.
Net::FTP=GLOB(0x92dc200)<<< 550 /images/potato1/.: Is a directory
Net::FTP=GLOB(0x92dc200)>>> RMD /images/potato1/.
Net::FTP=GLOB(0x92dc200)<<< 550 /images/potato1/.: Directory not empty