Data-Downloader
view release on metacpan or search on metacpan
lib/Data/Downloader/File.pm view on Meta::CPAN
sub _already_downloaded {
my $self = shift;
TRACE "checking for already downloadedness";
return ( $self->md5
&& $self->filename
&& -e $self->storage_path
) ? 1 : 0;
}
# Get the element(s) which produce the min value of a subroutine.
sub _minmap(&@) {
my $sub = shift;
return unless @_;
my @min = (shift);
my $min = $sub->($min[0]);
for (@_) {
my $val = $sub->($_);
if ( $val < $min ) { ( $min, @min ) = ( $val, $_ ); }
elsif ( $val == $min ) { push @min, $_; }
}
return @min;
}
# Ditto for max
sub _maxmap(&@) {
my $sub = shift;
return _minmap(sub { -$sub->(shift) }, @_);
}
# Choose the disk (if the repository has multiple disks).
sub _choose_disk {
my $self = shift;
# Disk already set?
if ($self->disk) {
( run in 0.931 second using v1.01-cache-2.11-cpan-49f99fa48dc )