use Getopt::Long;
use File::Path qw(make_path);
use File::Spec;
use File::Temp qw(tempfile);
use JSON::PP;
use List::Util qw(all first max);
use EBook::Gutenberg::Catalog;
use EBook::Gutenberg::Dial
ta_json {
my $book = shift;
my %copy = %$book;;
for my $k (qw(Authors Subjects Bookshelves LoCC)) {
$copy{ $k } = [ split /\s*;\s*/, $copy{ $k } ];
}
my $json = JSON::P
P->new->pretty(1)->canonical(1);
return $json->encode(\%copy);
}
sub _touch_get {
my $self = shift;
# touch file
if (-f $self->{ GetFile }) {
utime undef, undef, $self->{