se Digest::SHA qw< sha1_hex sha256_hex >;
use Digest::MD5 qw< md5_hex >;
use Term::ANSIColor;
use JSON::PP;
use File::Path;
use File::Find;
use File::Copy;
use warnings;
use strict;
=head1 NAME
Ap
;
sub read_json {
open(my $fh,"<", "$base_path/packages.json") || die "cant open: $base_path/packages.json: $!";
my $json = <$fh>;
my $p = decode_json $json;
}
sub write_json {
my @p
et_packages(shift)};
my $json = encode_json \@p;
open(my $fh,">", "$base_path/packages.json") || die "cant open: $base_path/packages.json: $!";
print $fh $json;
}
sub printer {
my @p