view release on metacpan or search on metacpan
scripts/jsonvalidate view on Meta::CPAN
This is probably a fictional/internal \$id (very common and correct!).
The validator will NOT auto-fetch such URIs by default (security + correctness).
This looks like a reference to a remote document with a JSON Pointer fragment.
Such references MUST be retrieved (per JSON Schema spec).
Solutions:
⢠Pass --remote-refs to allow HTTP(S) fetching
⢠Provide the referenced schema via additional --schema arguments
view all matches for this distribution
view release on metacpan or search on metacpan
A river of news, according to Dave Winer, is a feed aggregator. New items appear
at the top and old items disappear at the bottom. When it's gone, it's gone.
There is no count of unread items. The goal is to fight the _fear of missing
out_ (FOMO).
Each item looks similar to every other: headline, link, an extract, maybe a date
and an author. Extracts contain but the beginning of the article's text; all
markup is removed; no images. The goal is to make the page easy to skim.
Scroll down until you find something interesting and follow the link to the
original article if you want to read it.
view all matches for this distribution
view release on metacpan or search on metacpan
user. For architecture notes, Docker background, and Perl-facing examples, see
L<App::karr>.
=head1 CLI WORKFLOW
A typical session looks like this:
=over 4
=item 1.
view all matches for this distribution
view release on metacpan or search on metacpan
scripts/keycommon view on Meta::CPAN
#!/usr/bin/perl
use 5.001 ; use strict ; use warnings ;
use Getopt::Std ; getopts '0:12:cf:nr_~/:' , \my%o ;
use Scalar::Util qw/looks_like_number/ ;
use Term::ANSIColor qw/:constants/ ; $Term::ANSIColor::AUTORESET = 1 ;
my $sep = $o{'/'} // "\t" ; # å
¥åºåã®åºåãæå
my $empty = $o{0} // 'undef' ; # 対å¿ããå¤ãç¡ãå ´åã®ä»£æ¿ã®å¤
my $cutpos = $o{f} // 1 ; # åè¡ãå·¦ããä½çªç®ã®åã§åãã
scripts/keycommon view on Meta::CPAN
sub outputting {
my @keg = keys %val unless $o{1} ;
@keg =
$o{1} ? @keg1 :
$o{n} ?
(@{[sort {$a <=> $b} grep { looks_like_number($_) } @keg ]} ,
sort {$a cmp $b} grep { ! looks_like_number($_) } @keg ) :
sort @keg ;
@keg = reverse @keg if $o{r} ;
*UNDERLINE = sub {@_} unless $o{'_'} ;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/lcpan/Manual/Internals.pod view on Meta::CPAN
C<content> table. This will allow us to check whether a distribution has a
distribution metadata file (F<META.yml> or F<META.json>), whether a distribution
contains scripts, and so on.
We populate the C<script> table by heuristically including content which from
its name looks like script, e.g.:
script/foo
bin/whatever
We then extract the distribution metadata files (either F<META.json> or
view all matches for this distribution
view release on metacpan or search on metacpan
script/lcpan view on Meta::CPAN
% lcpan mods-by-rdep-count
# show POD documentation for module/.pod/script (works for uninstalled
# modules/scripts since this works by extracting the POD from release tarballs
# in the mirror)
% lcpan doc Rinci ;# looks for .pod, .pm, or script
% lcpan doc Rinci.pod ;# specifically looks for .pod
% lcpan doc Rinci.pm ;# specifically looks for .pm
% lcpan doc plackup ;# script
% lcpan doc plackup -r ;# dump the raw POD instead of rendering it
More subcommands are available. lcpan is plugin-based, see/install
C<App::lcpan::CmdBundle::*> modules for more subcommands.
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
if ( my $code = $sym->{$pwd} ) {
# Delegate back to parent dirs
goto &$code unless $cwd eq $pwd;
}
unless ($$sym =~ s/([^:]+)$//) {
# XXX: it looks like we can't retrieve the missing function
# via $$sym (usually $main::AUTOLOAD) in this case.
# I'm still wondering if we should slurp Makefile.PL to
# get some context or not ...
my ($package, $file, $line) = caller;
die <<"EOT";
view all matches for this distribution
view release on metacpan or search on metacpan
bin/makedist view on Meta::CPAN
directory.
=head1 CONFIGURATION
makedist looks for a configuration file in the following locations, in
order of precedence:
$XDG_CONFIG_HOME/makedist/makedist.conf
$HOME/.makedist.conf
view all matches for this distribution
view release on metacpan or search on metacpan
scripts/matrixpack view on Meta::CPAN
#!/usr/bin/perl
use 5.014 ; use strict ; use warnings ;
use Getopt::Std ; getopts '1ah/:' , \my%o ;
use Term::ANSIColor qw[:constants] ; $Term::ANSIColor::AUTORESET = 1 ;
use Scalar::Util qw[looks_like_number] ;
use FindBin qw[$Script] ;
BEGIN{
print STDERR BRIGHT_RED qq["$ARGV[0]" may be given as a file although it should consist of column numbers.\n] if -f $ARGV[0] ;
}
my @cols = split /[,\n\t]/, shift @ARGV , 0 ; # æå®ãããåã @cols ã«æ ¼ç´ãããã
do { print STDERR BRIGHT_RED "[$Script] Numbers is not specified: @cols\n" ; exit 1 } if grep {! looks_like_number $_ } @cols ;
do { print STDERR BRIGHT_RED "[$Script] Only 0 is specified: @cols\n" ; exit 1 } unless grep { $_ != 0} @cols ;
my $sep = $o{'/'} // "\t" ;
my @ca = @cols ; # @colsã使¥ç¨ã«æ ¼ç´ãããå¦çä¸ã«ä½¿ãããã
do{ select STDERR ; &HELP_MESSAGE } unless @cols ;
view all matches for this distribution
view release on metacpan or search on metacpan
script/_metasyn view on Meta::CPAN
#
#=head2 COMPLETE_BASH_SUMMARY_ALIGN
#
#String. Either C<left> (the default) or C<right>.
#
#The C<left> align looks something like this:
#
# --bar Summary about the bar option
# --baz Summary about the baz option
# --foo Summary about the foo option
# --schapen Summary about the schapen option
script/_metasyn view on Meta::CPAN
#
#use 5.010001;
#use strict;
#use warnings;
#
#use Scalar::Util qw(looks_like_number blessed reftype refaddr);
#
#require Exporter;
#our @ISA = qw(Exporter);
#our @EXPORT = qw(dd dmp);
#our @EXPORT_OK = qw(dd_ellipsis dmp_ellipsis);
script/_metasyn view on Meta::CPAN
#
# my $ref = ref($val);
# if ($ref eq '') {
# if (!defined($val)) {
# return "undef";
# } elsif (looks_like_number($val) && !$OPT_STRINGIFY_NUMBERS &&
# # perl does several normalizations to number literal, e.g.
# # "+1" becomes 1, 0123 is octal literal, etc. make sure we
# # only leave out quote when the number is not normalized
# $val eq $val+0 &&
# # perl also doesn't recognize Inf and NaN as numeric
script/_metasyn view on Meta::CPAN
# for (@_) {
# my $ref = ref($_);
# if ($ref eq 'ARRAY') { $prev = $_ }
# elsif ($ref eq 'HASH') { $meta = $_ }
# elsif (!$ref) {
# if (Scalar::Util::looks_like_number($_)) {
# $status = $_;
# } else {
# $msg = $_;
# }
# }
script/_metasyn view on Meta::CPAN
#
## Check whether or not a scalar should be emitted as an plain scalar.
#sub is_valid_plain {
# my $self = shift;
# return 0 unless length $_[0];
# return 0 if $self->quote_numeric_strings and Scalar::Util::looks_like_number($_[0]);
# # refer to YAML::Old::Loader::parse_inline_simple()
# return 0 if $_[0] =~ /^[\s\{\[\~\`\'\"\!\@\#\>\|\%\&\?\*\^]/;
# return 0 if $_[0] =~ /[\{\[\]\},]/;
# return 0 if $_[0] =~ /[:\-\?]\s/;
# return 0 if $_[0] =~ /\s#/;
script/_metasyn view on Meta::CPAN
# }
# else {
# $self->die('YAML_LOAD_ERR_BAD_SEQ_ELEMENT');
# }
#
# # Check whether the preface looks like a YAML mapping ("key: value").
# # This is complicated because it has to account for the possibility
# # that a key is a quoted string, which itself may contain escaped
# # quotes.
# my $preface = $self->preface;
# if ( $preface =~ /^ (\s*) ( \w .*? \: (?:\ |$).*) $/x or
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
if ( my $code = $sym->{$pwd} ) {
# Delegate back to parent dirs
goto &$code unless $cwd eq $pwd;
}
unless ($$sym =~ s/([^:]+)$//) {
# XXX: it looks like we can't retrieve the missing function
# via $$sym (usually $main::AUTOLOAD) in this case.
# I'm still wondering if we should slurp Makefile.PL to
# get some context or not ...
my ($package, $file, $line) = caller;
die <<"EOT";
view all matches for this distribution
view release on metacpan or search on metacpan
use warnings FATAL => 'all';
use threads;
use threads::shared;
use Thread::Queue;
use Getopt::Long;
use Scalar::Util qw(looks_like_number);
use Time::HiRes qw(sleep);
BEGIN {
$ENV{PATH} = '/bin:/usr/bin';
}
return;
}
sub check_interval {
my $interval = shift;
if ( looks_like_number($interval) ) {
return 1;
}
else {
print "mhping: Bad timing interval!\n";
return;
if ( $worker->{thread}->is_running ) {
my $tid = $worker->{thread}->tid;
$stat{$tid}->{count} = $count if defined $count;
if ( looks_like_number($rtt) ) {
$stat{$tid}->{last} = $rtt;
if ( not defined $stat{$tid}->{min} ) {
$stat{$tid}->{min} = $rtt;
}
: '-';
}
my $line_format
= '%2d. %-30s %10d'
. ( looks_like_number($rtt) ? ' %6.1f' : ' %6s' )
. " %6.1f %6.1f\n";
push(
@report_lines,
sprintf(
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/migrate.pm view on Meta::CPAN
I<Thus custom file format is needed.>
=item *
Make it easier to manually analyse is 'downgrade' operation looks correct
for corresponding 'upgrade' operation.
I<Thus related 'upgrade' and 'downgrade' operations must go one right
after another.>
view all matches for this distribution
view release on metacpan or search on metacpan
mimi.fatpack view on Meta::CPAN
$fatpacked{"DBD/Sponge.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBD_SPONGE';
use strict;{package DBD::Sponge;require DBI;require Carp;our@EXPORT=qw();our$VERSION="0.03";our$drh=undef;my$methods_already_installed;sub driver{return$drh if$drh;DBD::Sponge::db->install_method("sponge_test_installed_method")unless$methods_alread...
DBD_SPONGE
$fatpacked{"DBI.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBI';
package DBI;require 5.008_001;BEGIN {our$XS_VERSION=our$VERSION="0.03";$VERSION=eval$VERSION}use Carp();use DynaLoader ();use Exporter ();BEGIN {@ISA=qw(Exporter DynaLoader);@EXPORT=();@EXPORT_OK=qw(%DBI %DBI_methods hash);%EXPORT_TAGS=(sql_types=>...
DBI::_firesafe; # just in case
require $driver_class; # load the driver
};if ($@){my$err=$@;my$advice="";if ($err =~ /Can't find loadable object/){$advice="Perhaps DBD::$driver was statically linked into a new perl binary." ."\nIn which case you need to use that new perl binary." ."\nOr perhaps only the .pm file wa...
DBI
$fatpacked{"DBI/Changes.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBI_CHANGES';
DBI_CHANGES
mimi.fatpack view on Meta::CPAN
$fatpacked{"DBI/Gofer/Transport/stream.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBI_GOFER_TRANSPORT_STREAM';
package DBI::Gofer::Transport::stream;use strict;use warnings;use DBI qw(dbi_time);use DBI::Gofer::Execute;use base qw(DBI::Gofer::Transport::pipeone Exporter);our$VERSION="0.03";our@EXPORT=qw(run_stdio_hex);my$executor=DBI::Gofer::Execute->new();s...
DBI_GOFER_TRANSPORT_STREAM
$fatpacked{"DBI/Profile.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBI_PROFILE';
package DBI::Profile;use strict;use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);use Exporter ();use UNIVERSAL ();use Carp;use DBI qw(dbi_time dbi_profile dbi_profile_merge_nodes dbi_profile_merge);$VERSION="0.03";@ISA=qw(Exporter);@EXPORT=qw(DBIprofi...
DBI_PROFILE
$fatpacked{"DBI/ProfileData.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBI_PROFILEDATA';
package DBI::ProfileData;use strict;our$VERSION="0.03";use Carp qw(croak);use Symbol;use Fcntl qw(:flock);use DBI::Profile qw(dbi_profile_merge);sub COUNT () {0};sub TOTAL () {1};sub FIRST () {2};sub SHORTEST () {3};sub LONGEST () {4};sub FIRST_AT ...
Count : %d
mimi.fatpack view on Meta::CPAN
] .join("\n",'',@post_call_frag,'').q[
return (wantarray) ? @ret : $ret[0];
}
];no strict qw(refs);my$code_ref=eval qq{#line 1 "DBI::PurePerl $method"\n$method_code};warn "$@\n$method_code\n" if $@;die "$@\n$method_code\n" if $@;*$method=$code_ref;if (0 && $method =~ /\b(connect|FETCH)\b/){my$l=0;warn "*$method code:\n"....
DBI_PUREPERL
$fatpacked{"DBI/SQL/Nano.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBI_SQL_NANO';
package DBI::SQL::Nano;use strict;use warnings;use vars qw($VERSION $versions);use Carp qw(croak);require DBI;BEGIN {$VERSION="0.03";$versions->{nano_version}=$VERSION;if ($ENV{DBI_SQL_NANO}||!eval {require SQL::Statement;$SQL::Statement::VERSION g...
DBI_SQL_NANO
$fatpacked{"DBI/Util/CacheMemory.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBI_UTIL_CACHEMEMORY';
package DBI::Util::CacheMemory;use strict;use warnings;our$VERSION="0.03";my%cache;sub new {my ($class,%options)=@_;my$namespace=$options{namespace}||= 'Default';my$self=bless \%options=>$class;$cache{$namespace }||= {};return$self}sub set {my ($se...
DBI_UTIL_CACHEMEMORY
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
if ( my $code = $sym->{$pwd} ) {
# Delegate back to parent dirs
goto &$code unless $cwd eq $pwd;
}
unless ($$sym =~ s/([^:]+)$//) {
# XXX: it looks like we can't retrieve the missing function
# via $$sym (usually $main::AUTOLOAD) in this case.
# I'm still wondering if we should slurp Makefile.PL to
# get some context or not ...
my ($package, $file, $line) = caller;
die <<"EOT";
view all matches for this distribution
view release on metacpan or search on metacpan
t/02-wrap.t view on Meta::CPAN
>
> Short lines drum along
> and fret and shove and push me
> to just shut my mouth
Maybe the short lines push me "to just keep running"? example.poetry.slam is a site that looks interesting.
EOT
my $wrapped = <<EOT;
Alex wrote:
> I'm once again writing haikus for my unit tests. I'm unsure of I could
t/02-wrap.t view on Meta::CPAN
> Short lines drum along
> and fret and shove and push me
> to just shut my mouth
Maybe the short lines push me "to just keep running"?
example.poetry.slam is a site that looks interesting.
EOT
is(wrap($mail), $wrapped, "mail with quotes");
done_testing;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/nodie.pm view on Meta::CPAN
use v5.10.1;
use feature qw(switch);
no if ($] >= 5.018), 'warnings' => 'experimental';
use FindBin;
use File::Basename;
use Scalar::Util qw(looks_like_number);
use Lazy::Utils;
BEGIN {
require Exporter;
lib/App/nodie.pm view on Meta::CPAN
$arg_exitcodes = "" unless defined($arg_exitcodes);
my @exitcodes = split(/\s*,\s*/, $arg_exitcodes);
my %exitcodes = array_to_hash(@exitcodes);
while (my $key = each %exitcodes) {
my $value = $exitcodes{$key};
unless (looks_like_number($value) and $value == int($value) and $value >= 0) {
delete $exitcodes{$key};
next;
}
$exitcodes{$key} = int($value);
}
view all matches for this distribution
view release on metacpan or search on metacpan
Makefile.PL view on Meta::CPAN
repository => 'http://github.com/sshaw/output-as-format',
homepage => 'http://github.com/sshaw/output-as-format'} }) : ())
);
# Create README.pod for a repo's GitHub page. Unlike CPAN, GitHub won't
# display the module's POD, it looks for a README.*
sub MY::postamble
{
my $self = shift;
return if -r 'README' or ! -r $self->{VERSION_FROM};
return<<END_MAKE;
view all matches for this distribution
view release on metacpan or search on metacpan
Where multiple matching combinations of entities are identical in all
the attributes selected for display and sorting, they are merged into one
line. As a result, if all the sorting is on attributes being displayed,
all the output lines are necessarily different. (Sorting on attributes
that are algebraically distant from all those being displayed can result
in many identical output lines, which looks strange. The ability to do
this may be curtailed in the future.) Any item where all the display
and sort attributes have only B<!!!> exceptions (unmatched entities)
is suppressed.
Most attribute values are intended to be parseable by computer programs,
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/optex/pingu.pm view on Meta::CPAN
use File::Share qw(dist_dir);
use List::Util qw(first pairmap);
use Time::HiRes qw(usleep);
use Scalar::Util;
use Hash::Util qw(lock_keys);
*is_number = \&Scalar::Util::looks_like_number;
use App::optex::pingu::Picture;
my $image_dir = $ENV{OPTEX_PINGU_IMAGEDIR} //= dist_dir 'App-optex-pingu';
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/optex/scroll.pm view on Meta::CPAN
use IO::Handle;
use Term::ReadKey;
use Term::ANSIColor::Concise qw(:all);
use List::Util qw(first pairmap);
use Scalar::Util;
*is_number = \&Scalar::Util::looks_like_number;
our $VERSION = "0.9902";
use App::optex::util::filter qw(interval);
view all matches for this distribution
view release on metacpan or search on metacpan
t/org2ical-usage-version.t view on Meta::CPAN
{
my $res = run [@full_script, '--version'], '>', \my $stdout;
ok $res, 'script run ok';
if ($stdout =~ m{org2ical ([\d\.]+)}) {
pass 'looks like a version';
} else {
fail "'$stdout' does not look like a version";
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/p5stack.pm view on Meta::CPAN
specific to this project. Including a specific perl version if required. This
allows to constrain all the required elements to run your application to live
inside the application directory. And thus not clashing to system wide perl
installations.
Configuration files are written in YAML, an example configuration looks
like:
---
perl: 5.20.3
deps: dzil
view all matches for this distribution
view release on metacpan or search on metacpan
bin/part.pl view on Meta::CPAN
=item B<--filename-sep> - set the separator for the filenames
If you prefer a different separator for the filenames
than a newline, this option allows you to set it. If
the separator looks like an octal number (three digits)
it is interpreted as such. Otherwise it will
be taken literally. A common
use is to set the separator to C<000> to separate the
files by the zero character if you suspect that your
filenames might contain newlines.
view all matches for this distribution
view release on metacpan or search on metacpan
0.39 2015-07-05 Released-By: PERLANCAR
- [build] Now use depak (datapack) to pack script instead of fatpack
(slightly reduce startup overhead, and hope it can now be viewed in
MetaCPAN, previously MetaCPAN complains that the script is too big.)
UPDATE: nope, still can't display it. UPDATE 2015-07-27: looks like
MetaCPAN now can display bin/pause's POD, yay.
- Bundle Perinci::CmdLine::pause to reduce dependencies (this should've
been done earlier but was not due to fatten's misconfiguration).
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/perl/distrolint/Check/Pod.pm view on Meta::CPAN
is checked to ensure it is a bareword function/method name, optionally
followed by other clarifying text after whitespace.
After every C<=head2> the next paragraph must be a verbatim paragraph,
presumed to contain the function's minsynopsis code. The contents of this
are also checked, to see that the first line looks like an example calling
the named function or method, that ends in a semicolon.
The function name can optionally be preceeded by a variable assignment to
indicate the return value (C<$var = ...> or C<($list, $of, @vars) = ...>),
optionally prefixed with C<my>. It can optionally be preceeded by a variable
view all matches for this distribution
view release on metacpan or search on metacpan
script/perlall view on Meta::CPAN
# testvm logs back from forks
# fix testvm forked and --fork arg
# 'perlall=5.8* perlall do -m' should filter only main 5.8*
# testvm max balancing
# init is unstable (IO::Tee in IPC::Run) - refactored
# --as explicit and implicit - looks good, but no test
# non-critical TODO:
# 5.8.8 (centos5) fails with Attribute::Handler 0.78_02. monkeypatch or fail?
# build: test perlbrew and HOME friendly (no hardcoded paths)
# windows support (paths, tee, tools), die on other non-POSIX exots (VMS)...
# CPAN::Shell->expand("Devel::*"), not easy todo with metacpan.
script/perlall view on Meta::CPAN
p=$perl
echo $p $*
$p $*
done
The output depends on your perl installations, and looks like this:
perl5.12.2-nt -E'say "Hello from $]"'
Hello from perl-5.012002
perl5.12.3-m -E'say "Hello from $]"'
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Perlbrew/Util.pm view on Meta::CPAN
use Exporter 'import';
our @EXPORT = qw( uniq min editdist files_are_the_same perl_version_to_integer );
our @EXPORT_OK = qw(
find_similar_tokens
looks_like_url_of_skaji_relocatable_perl
looks_like_sys_would_be_compatible_with_skaji_relocatable_perl
make_skaji_relocatable_perl_url
);
sub uniq {
my %seen;
lib/App/Perlbrew/Util.pm view on Meta::CPAN
}
return \@similar_tokens;
}
sub looks_like_url_of_skaji_relocatable_perl {
my ($str) = @_;
# https://github.com/skaji/relocatable-perl/releases/download/5.40.0.0/perl-linux-amd64.tar.gz
my $prefix = "https://github.com/skaji/relocatable-perl/releases/download";
my $version_re = qr/(5\.[0-9][0-9]\.[0-9][0-9]?.[0-9])/;
my $name_re = qr/perl-(linux|darwin)-(amd64|arm64)\.tar\.gz/;
lib/App/Perlbrew/Util.pm view on Meta::CPAN
i386 => "amd64",
};
return $compat->{$arch} || $arch;
}
sub looks_like_sys_would_be_compatible_with_skaji_relocatable_perl {
my ($detail, $sys) = @_;
return (
($detail->{os} eq $sys->os)
&& (_arch_compat($detail->{arch}) eq _arch_compat($sys->arch))
view all matches for this distribution
view release on metacpan or search on metacpan
DESCRIPTION
If you want to know which debian package has to be installed to have a
Perl module readily available this tool is for you.
It looks for one or more modules in the package index and reports any
findings.
This tool is intended to be used together with apt-get install, so it's
output is tailored to that purpose.
view all matches for this distribution
view release on metacpan or search on metacpan
bin/perldolicious view on Meta::CPAN
helper setup_modules_file => sub {
my $cache_file = app->config('modules_cache_file');
my $limit = app->config('auto_download');
die "Configuration auto_download: $limit doesn't look like number\n"
unless Scalar::Util::looks_like_number($limit);
# file does not exist or file exists but it's older than the
# specified limit (in days)
if (not -f $cache_file
or -f $cache_file and -M $cache_file > $limit)
view all matches for this distribution