view release on metacpan or search on metacpan
view all matches for this distribution
234567891011120.04 2018-12-02 10:10:17+01:00 Europe/Copenhagen
* JONASBN kindly added some people whose contributions were forgotten.
0.03 2013-07-22 07:23:00 Europe/Copenhagen
* Add missing utf8 pragma, and fixed pod errors (Karen Etheridge)
0.02 2011-10-21 17:36:28 Europe/Copenhagen
* Added LTHEGLER.
0.01 2011-10-19 23:07:05 Europe/Copenhagen
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
view all matches for this distribution
44454647484950515253# Whether or not inc::Module::Install is actually loaded, the
# $INC{inc/Module/Install.pm} is what will still get set as long as
# the caller loaded module this in the documented manner.
# If not set, the caller may NOT have loaded the bundled version, and thus
# they may not have a MI version that works with the Makefile.PL. This would
# result in false errors or unexpected behaviour. And we don't want that.
my
$file
=
join
(
'/'
,
'inc'
,
split
/::/, __PACKAGE__ ) .
'.pm'
;
unless
(
$INC
{
$file
} ) {
die
<<
"END_DIE"
}
Please invoke ${\__PACKAGE__}
with
:
view release on metacpan or search on metacpan
t/00-report-prereqs.t view on Meta::CPAN
8687888990919293949596else
{
$source
=
'static metadata'
;
}
my
@full_reports
;
my
@dep_errors
;
my
$req_hash
=
$HAS_CPAN_META
?
$full_prereqs
->as_string_hash :
$full_prereqs
;
# Add static includes into a fake section
for
my
$mod
(
@include
) {
$req_hash
->{other}{modules}{
$mod
} = 0;
t/00-report-prereqs.t view on Meta::CPAN
126127128129130131132133134135136137138139140141142143144145146147
$have
=
"undef"
unless
defined
$have
;
push
@reports
, [
$mod
,
$want
,
$have
];
if
(
$DO_VERIFY_PREREQS
&&
$HAS_CPAN_META
&&
$type
eq
'requires'
) {
if
(
$have
!~ /\A
$lax_version_re
\z/ ) {
push
@dep_errors
,
"$mod version '$have' cannot be parsed ($req_string)"
;
}
elsif
( !
$full_prereqs
->requirements_for(
$phase
,
$type
)->accepts_module(
$mod
=>
$have
) ) {
push
@dep_errors
,
"$mod version '$have' is not in required range '$want'"
;
}
}
}
else
{
push
@reports
, [
$mod
,
$want
,
"missing"
];
if
(
$DO_VERIFY_PREREQS
&&
$type
eq
'requires'
) {
push
@dep_errors
,
"$mod is not installed ($req_string)"
;
}
}
}
if
(
@reports
) {
t/00-report-prereqs.t view on Meta::CPAN
view all matches for this distribution
167168169170171172173174175176177178179180181if
(
@full_reports
) {
diag
"\nVersions for all modules listed in $source (including optional ones):\n\n"
,
@full_reports
;
}
if
(
@dep_errors
) {
diag
join
(
"\n"
,
"\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n"
,
"The following REQUIRED prerequisites were not satisfied:\n"
,
@dep_errors
,
"\n"
);
}
pass;
view release on metacpan or search on metacpan
t/000-report-versions.t view on Meta::CPAN
4849505152535455565758596061626364656667686970# Create an object from a file
sub
read
{
my
$class
=
ref
$_
[0] ?
ref
shift
:
shift
;
# Check the file
my
$file
=
shift
or
return
$class
->_error(
'You did not specify a file name'
);
return
$class
->_error(
"File '$file' does not exist"
)
unless
-e
$file
;
return
$class
->_error(
"'$file' is a directory, not a file"
)
unless
-f _;
return
$class
->_error(
"Insufficient permissions to read '$file'"
)
unless
-r _;
# Slurp in the file
local
$/ =
undef
;
local
*CFG
;
unless
(
open
(CFG,
$file
) ) {
return
$class
->_error(
"Failed to open file '$file': $!"
);
}
my
$contents
= <CFG>;
unless
(
close
(CFG) ) {
return
$class
->_error(
"Failed to close file '$file': $!"
);
}
$class
->read_string(
$contents
);
}
t/000-report-versions.t view on Meta::CPAN
7374757677787980818283sub
read_string {
my
$class
=
ref
$_
[0] ?
ref
shift
:
shift
;
my
$self
=
bless
[],
$class
;
my
$string
=
$_
[0];
unless
(
defined
$string
) {
return
$self
->_error(
"Did not provide a string to load"
);
}
# Byte order marks
# NOTE: Keeping this here to educate maintainers
# my %BOM = (
t/000-report-versions.t view on Meta::CPAN
86878889909192939495# "\377\376" => 'UTF-16LE',
# "\377\376\0\0" => 'UTF-32LE'
# "\0\0\376\377" => 'UTF-32BE',
# );
if
(
$string
=~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
return
$self
->_error(
"Stream has a non UTF-8 BOM"
);
}
else
{
# Strip UTF-8 bom if found, we'll just ignore it
$string
=~ s/^\357\273\277//;
}
t/000-report-versions.t view on Meta::CPAN
9899100101102103104105106107108utf8::decode(
$string
)
if
HAVE_UTF8;
# Check for some special cases
return
$self
unless
length
$string
;
unless
(
$string
=~ /[\012\015]+\z/ ) {
return
$self
->_error(
"Stream does not end with newline character"
);
}
# Split the file into lines
my
@lines
=
grep
{ ! /^\s*(?:\
#.*)?\z/ }
split
/(?:\015{1,2}\012|\015|\012)/,
$string
;
t/000-report-versions.t view on Meta::CPAN
view all matches for this distribution
342343344345346347348349350351352353354355356
}
return
1;
}
# Set error
sub
_error {
$YAML::Tiny::errstr
=
$_
[1];
undef
;
}
# Retrieve error
sub
errstr {
$YAML::Tiny::errstr
;
}
view release on metacpan or search on metacpan
inc/Module/AutoInstall.pm view on Meta::CPAN
view all matches for this distribution
646647648649650651652653654655656
return
unless
system
(
'sudo'
, $^X, $0,
"--config=$config"
,
"--installdeps=$missing"
);
<<
"."
;
*** The
'sudo'
command exited
with
error! Resuming...
.
}
return
_prompt(
qq(
view release on metacpan or search on metacpan
5678910111213141516171819my
%configure_requires
= (
'Module::Build::Tiny'
=>
'0.034'
,
);
my
%errors
=
map
{
eval
"require $_; $_->VERSION($configure_requires{$_}); 1"
;
$_
=> $@,
}
keys
%configure_requires
;
if
(!
grep
{
$_
}
values
%errors
)
{
# This section for Acme-CPANAuthors-Nonhuman was generated by Dist::Zilla::Plugin::ModuleBuildTiny 0.015.
view all matches for this distribution
59606162636465666768Errors from configure prereqs:
EOW
.
do
{
};
sleep
10
if
-t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT));
}
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
55565758596061626364
# Whether or not inc::Module::Install is actually loaded, the
# $INC{inc/Module/Install.pm} is what will still get set as long as
# the caller loaded module this in the documented manner.
# If not set, the caller may NOT have loaded the bundled version, and thus
# they may not have a MI version that works with the Makefile.PL. This would
# result in false errors or unexpected behaviour. And we don't want that.
my
$file
=
join
(
'/'
,
'inc'
,
split
/::/, __PACKAGE__ ) .
'.pm'
;
unless
(
$INC
{
$file
} ) {
die
<<
"END_DIE"
}
Please invoke ${\__PACKAGE__}
with
:
inc/Module/Install.pm view on Meta::CPAN
88899091929394959697
# If the modification time is only slightly in the future,
# sleep briefly to remove the problem.
my
$a
=
$s
-
time
;
if
(
$a
> 0 and
$a
< 5 ) {
sleep
5 }
# Too far in the future, throw an error.
my
$t
=
time
;
if
(
$s
>
$t
) {
die
<<
"END_DIE"
}
Your installer $0
has
a modification
time
in the future (
$s
>
$t
).
inc/Module/Install.pm view on Meta::CPAN
view all matches for this distribution
170171172173174175176177178179180
# I'm still wondering if we should slurp Makefile.PL to
# get some context or not ...
my
(
$package
,
$file
,
$line
) =
caller
;
die
<<
"EOT"
;
Unknown function is found at
$file
line
$line
.
Execution of
$file
aborted due to runtime errors.
If you're a contributor to a project, you may need to install
some Module::Install extensions from CPAN (or other repository).
If you're a user of a module, please contact the author.
EOT
view release on metacpan or search on metacpan
t/00-report-prereqs.t view on Meta::CPAN
8687888990919293949596else
{
$source
=
'static metadata'
;
}
my
@full_reports
;
my
@dep_errors
;
my
$req_hash
=
$HAS_CPAN_META
?
$full_prereqs
->as_string_hash :
$full_prereqs
;
# Add static includes into a fake section
for
my
$mod
(
@include
) {
$req_hash
->{other}{modules}{
$mod
} = 0;
t/00-report-prereqs.t view on Meta::CPAN
126127128129130131132133134135136137138139140141142143144145146147
$have
=
"undef"
unless
defined
$have
;
push
@reports
, [
$mod
,
$want
,
$have
];
if
(
$DO_VERIFY_PREREQS
&&
$HAS_CPAN_META
&&
$type
eq
'requires'
) {
if
(
$have
!~ /\A
$lax_version_re
\z/ ) {
push
@dep_errors
,
"$mod version '$have' cannot be parsed ($req_string)"
;
}
elsif
( !
$full_prereqs
->requirements_for(
$phase
,
$type
)->accepts_module(
$mod
=>
$have
) ) {
push
@dep_errors
,
"$mod version '$have' is not in required range '$want'"
;
}
}
}
else
{
push
@reports
, [
$mod
,
$want
,
"missing"
];
if
(
$DO_VERIFY_PREREQS
&&
$type
eq
'requires'
) {
push
@dep_errors
,
"$mod is not installed ($req_string)"
;
}
}
}
if
(
@reports
) {
t/00-report-prereqs.t view on Meta::CPAN
view all matches for this distribution
167168169170171172173174175176177178179180181if
(
@full_reports
) {
diag
"\nVersions for all modules listed in $source (including optional ones):\n\n"
,
@full_reports
;
}
if
(
@dep_errors
) {
diag
join
(
"\n"
,
"\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n"
,
"The following REQUIRED prerequisites were not satisfied:\n"
,
@dep_errors
,
"\n"
);
}
pass;
view release on metacpan or search on metacpan
view all matches for this distribution
232425262728293031320.04 2011-08-24 23:10 UTC
+ Chg : The module now uses File::Find and Module::Metadata to collect
all the modules installed in your
system
.
ExtUtils::Installed is
no
longer needed.
+ Chg :
die
() is called instead of croak()
for
internal errors.
Carp is
no
longer needed.
+ Fix : Update the Parse::CPAN::Packages' author id test, since
Acme::CPANAuthors does not depend on it anymore.
+ Upd : Acme::CPANAuthors dependency bumped to 0.16.
view release on metacpan or search on metacpan
lib/Acme/CPANLists/Import/PERLANCAR/Advent/2014_12_14.pm view on Meta::CPAN
1234567891011our
$DATE
=
'2016-11-07'
;
# DATE
our
$VERSION
=
'0.001'
;
# VERSION
our
@Module_Lists
= ({
description
=>
"This list is generated by extracting module names mentioned in [http://blogs.perl.org/users/perlancar/2014/12/day-14-what-the-procchilderror.html] (retrieved on 2016-11-07). Visit the URL for the full contents."
,en...
1;
# ABSTRACT: Modules mentioned in PERLANCAR's 2014 advent calendar article series (day 14)
__END__
lib/Acme/CPANLists/Import/PERLANCAR/Advent/2014_12_14.pm view on Meta::CPAN
view all matches for this distribution
2223242526272829303132333435363738This document describes version 0.001 of Acme::CPANLists::Import::PERLANCAR::Advent::2014_12_14 (from Perl distribution Acme-CPANLists-Import-PERLANCAR-Advent-2014), released on 2016-11-07.
=head1 DESCRIPTION
This module is generated by extracting module names mentioned in L<http://blogs.perl.org/users/perlancar/2014/12/day-14-what-the-procchilderror.html> (retrieved on 2016-11-07). Visit the URL for the full contents.
=head1 MODULE LISTS
=head2 Modules mentioned in PERLANCAR's 2014 advent calendar article series (day 14)
This list is generated by extracting module names mentioned in [http://blogs.perl.org/users/perlancar/2014/12/day-14-what-the-procchilderror.html] (retrieved on 2016-11-07). Visit the URL for the full contents.
=over
=item * L<Proc::ChildError>
view release on metacpan or search on metacpan
lib/Acme/CPANLists/PERLANCAR/Assert.pm view on Meta::CPAN
28293031323334353637
sub
DEBUG() { 0 }
The perl compiler will optimize away and remove the code entirely
when
`DEBUG`
is false. But having to add `
if
DEBUG` to
each
assertion is annoying and
error-prone.
Nowadays, you have several alternatives to have a true, C-like assertions. One
technique is using <pm:Devel::Declare> (e.g. <pm:PerlX::Assert>). Another technique is
using <pm:B::CallChecker> (e.g. <pm:Assert::Conditional>).
lib/Acme/CPANLists/PERLANCAR/Assert.pm view on Meta::CPAN
view all matches for this distribution
88899091929394959697
sub
DEBUG() { 0 }
The perl compiler will optimize away and remove the code entirely
when
C<DEBUG>
is false. But having to add C<
if
DEBUG> to
each
assertion is annoying and
error-prone.
Nowadays, you have several alternatives to have a true, C-like assertions. One
technique is using L<Devel::Declare> (e.g. L<PerlX::Assert>). Another technique is
using L<B::CallChecker> (e.g. L<Assert::Conditional>).
view release on metacpan or search on metacpan
lib/Acme/CPANModules/Assert.pm view on Meta::CPAN
31323334353637383940
sub
DEBUG() { 0 }
The perl compiler will optimize away and remove the code entirely
when
`DEBUG`
is false. But having to add `
if
DEBUG` to
each
assertion is annoying and
error-prone.
Nowadays, you have several alternatives to have a true, C-like assertions. One
technique is using <pm:Devel::Declare> (e.g. <pm:PerlX::Assert>). Another technique is
using <pm:B::CallChecker> (e.g. <pm:Assert::Conditional>).
lib/Acme/CPANModules/Assert.pm view on Meta::CPAN
view all matches for this distribution
88899091929394959697
sub
DEBUG() { 0 }
The perl compiler will optimize away and remove the code entirely
when
C<DEBUG>
is false. But having to add C<
if
DEBUG> to
each
assertion is annoying and
error-prone.
Nowadays, you have several alternatives to have a true, C-like assertions. One
technique is using L<Devel::Declare> (e.g. L<PerlX::Assert>). Another technique is
using L<B::CallChecker> (e.g. L<Assert::Conditional>).
view release on metacpan or search on metacpan
lib/Acme/CPANModules/CalculatingDayOfWeek.pm view on Meta::CPAN
232233234235236237238239240241242Result formatted as table:
#table1#
{
dataset
=>
"date1"
}
+----------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) |
time
(μs) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+----------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| DateTime | 37000 | 27 | 0.00% | 8030.29% | 3.8e-08 | 24 |
| Date::DayOfWeek::dayofweek | 562000 | 1.78 | 1415.39% | 436.51% | 3.8e-10 | 20 |
| Date::Calc::Day_of_Week | 650000 | 1.54 | 1650.85% | 364.36% | 9.3e-10 | 20 |
| Time::DayOfWeek::DoW | 1030000 | 0.97 | 2677.36% | 192.73% | 6.3e-10 | 20 |
lib/Acme/CPANModules/CalculatingDayOfWeek.pm view on Meta::CPAN
view all matches for this distribution
268269270271272273274275276277278Result formatted as table:
#table2#
+---------------------+-----------+-------------------+-----------------------+-----------------------+---------+---------+
| participant |
time
(ms) | mod_overhead_time | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+---------------------+-----------+-------------------+-----------------------+-----------------------+---------+---------+
| DateTime | 145 | 139.2 | 0.00% | 2398.83% | 3.7e-05 | 20 |
| Date::Calc | 24.9 | 19.1 | 483.22% | 328.45% | 1.2e-05 | 21 |
| Time::Moment | 12.2 | 6.4 | 1086.86% | 110.54% | 8.3e-06 | 20 |
| Time::DayOfWeek | 9.8 | 4 | 1380.99% | 68.73% | 5.7e-06 | 20 |
view release on metacpan or search on metacpan
lib/Acme/CPANModules/HTMLTable.pm view on Meta::CPAN
213214215216217218219220221222223Result formatted as table (
split
, part 1 of 5):
#table1#
{
dataset
=>
"large (30x300)"
}
+-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) |
time
(ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| Text::Table::Manifold | 15.8 | 63.3 | 0.00% | 636.27% | 4.9e-05 | 21 |
| Text::Table::HTML | 68 | 15 | 328.81% | 71.70% | 1.9e-05 | 21 |
| Text::Table::Any | 68.3 | 14.7 | 331.76% | 70.53% | 1.2e-05 | 20 |
| Text::Table::HTML::DataTables | 116 | 8.59 | 636.27% | 0.00% | 4.6e-06 | 20 |
lib/Acme/CPANModules/HTMLTable.pm view on Meta::CPAN
240241242243244245246247248249250Result formatted as table (
split
, part 2 of 5):
#table2#
{
dataset
=>
"long (3x300)"
}
+-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) |
time
(ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| Text::Table::Manifold | 129 | 7.73 | 0.00% | 598.03% | 6.3e-06 | 21 |
| Text::Table::HTML | 620 | 1.6 | 378.42% | 45.90% | 1.8e-06 | 20 |
| Text::Table::Any | 625 | 1.6 | 383.35% | 44.41% | 5.8e-07 | 20 |
| Text::Table::HTML::DataTables | 903 | 1.11 | 598.03% | 0.00% | 2.7e-07 | 23 |
lib/Acme/CPANModules/HTMLTable.pm view on Meta::CPAN
267268269270271272273274275276277Result formatted as table (
split
, part 3 of 5):
#table3#
{
dataset
=>
"small (3x5)"
}
+-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) |
time
(μs) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| Text::Table::Manifold | 4400 | 230 | 0.00% | 559.84% | 3.2e-07 | 23 |
| Text::Table::HTML::DataTables | 13000 | 74 | 205.38% | 116.07% | 1.3e-07 | 30 |
| Text::Table::Any | 27200 | 36.8 | 516.53% | 7.03% | 3.3e-08 | 31 |
| Text::Table::HTML | 29100 | 34.3 | 559.84% | 0.00% | 6.5e-09 | 20 |
lib/Acme/CPANModules/HTMLTable.pm view on Meta::CPAN
294295296297298299300301302303304Result formatted as table (
split
, part 4 of 5):
#table4#
{
dataset
=>
"tiny (1x1)"
}
+-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) |
time
(μs) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| Text::Table::Manifold | 9700 | 100 | 0.00% | 1436.99% | 1.3e-07 | 20 |
| Text::Table::HTML::DataTables | 18000 | 55 | 87.14% | 721.28% | 7.8e-08 | 22 |
| Text::Table::Any | 114000 | 8.81 | 1072.17% | 31.12% | 5.6e-09 | 22 |
| Text::Table::HTML | 149000 | 6.72 | 1436.99% | 0.00% | 2.9e-09 | 20 |
lib/Acme/CPANModules/HTMLTable.pm view on Meta::CPAN
321322323324325326327328329330331Result formatted as table (
split
, part 5 of 5):
#table5#
{
dataset
=>
"wide (30x5)"
}
+-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) |
time
(μs) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| Text::Table::Manifold | 830 | 1200 | 0.00% | 434.10% | 1.7e-06 | 20 |
| Text::Table::Any | 3390 | 295 | 307.45% | 31.08% | 1.4e-07 | 20 |
| Text::Table::HTML | 3430 | 291 | 313.00% | 29.32% | 1.3e-07 | 26 |
| Text::Table::HTML::DataTables | 4400 | 230 | 434.10% | 0.00% | 2.3e-07 | 21 |
lib/Acme/CPANModules/HTMLTable.pm view on Meta::CPAN
view all matches for this distribution
354355356357358359360361362363364Result formatted as table:
#table6#
+-------------------------------+-----------+-------------------+-----------------------+-----------------------+---------+---------+
| participant |
time
(ms) | mod_overhead_time | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------------+-----------+-------------------+-----------------------+-----------------------+---------+---------+
| Text::Table::Manifold | 91 | 84.55 | 0.00% | 1310.03% | 4.8e-05 | 20 |
| Text::Table::Any | 11 | 4.55 | 727.82% | 70.33% | 5.1e-06 | 22 |
| Text::Table::HTML::DataTables | 9.37 | 2.92 | 870.91% | 45.23% | 6.8e-06 | 20 |
| Text::Table::HTML | 9.13 | 2.68 | 897.27% | 41.39% | 4.9e-06 | 20 |
view release on metacpan or search on metacpan
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
56789101112131415our
$AUTHORITY
=
'cpan:PERLANCAR'
;
# AUTHORITY
our
$DATE
=
'2023-10-29'
;
# DATE
our
$DIST
=
'Acme-CPANModules-Import-CPANRatings-User-stevenharyanto'
;
# DIST
our
$VERSION
=
'0.002'
;
# VERSION
our
$LIST
= {
description
=>
"This list is generated by scraping CPANRatings (cpanratings.perl.org) user page."
,
entries
=>[{
description
=>
"\n(REMOVED)\n"
,
module
=>
"Log::Any"
,
rating
=>
undef
},{
description
=>"\nProvides a thin/lightweight OO interface
for
\$?, ...
1;
# ABSTRACT: List of modules mentioned by CPANRatings user stevenharyanto
__END__
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
68697071727374757677=item L<SQL::Statement>
Author: L<REHSACK|https://metacpan.org/author/REHSACK>
The concept is truly cool, unfortunately the parser is currently flaky/buggy: one SQL query might work but another valid and seemingly simple SQL would fail with weird error message. See distribution's RT queue.
<br>
Rating: 6/10
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
332333334335336337338339340341=item L<File::Slurp::Tiny>
Author: L<LEONT|https://metacpan.org/author/LEONT>
More effort needs to be made with regards to documentation, especially for File::Slurp users looking for alternatives. Why is this module needed? What are the differences with File::Slurp? How do the functions behave on I/O errors (since err_mode opt...
<br>
=item L<Clone::PP>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
404405406407408409410411412413Author: L<MIKER|https://metacpan.org/author/MIKER>
Unnecessary. Data::Dumper does have the option to
sort
hash
keys
(
$Sortkeys
, look
for
'sort'
in
'perldoc Data::Dumper'
).
<br><br>This module also does not handle circular refs yet (and probably lacks other features of Data::Dumper too).
<br><br>Also the choice of returning error (
"
;
$Var00
= not a reference
"
;
when
given
Dumper(1)
for
example) as result is arguably unwise.
<br>
=item L<Archive::Probe>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
657658659660661662663664665666667668669Author: L<RHANDOM|https://metacpan.org/author/RHANDOM>
Nice idea. Perl should really have included something like this (analogous to warnings.pm
for
-w).
<br><br>However,
for
something as security-related as tainting, I personally think the interface is a bit too complex and not robust enough. There are too many pitfalls where one can fail to turn on tainting properly.
<br><br>* First, user must remember to
import
$TAINT
, or doing
'$TAINT = 1'
has
no
effect. There's
no
error/warning
for
this mistake.
<br><br>* Then,
if
one also forgets to
import
taint_start or taint_start, then doing
'taint_start'
or
'taint_env'
(without parentheses) will
do
nothing. Also does not produce an error/warning except under strict mode.
<br><br>* One must remember to
'taint_env'
I<
after
>
'taint_start'
. There's
no
warning/error
if
one does the opposite.
<br><br>I'd rather have something like this:
<br><br>{
<br><br>... code is running in taint mode ...
<br>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
926927928929930931932933934935=item L<Oktest>
Author: L<KWATCH|https://metacpan.org/author/KWATCH>
A reinvention of Perl testing modules (it even comes with an equivalent for 'prove' command), with probably no added features and some added quirks. (Nested) topic can already be done using Test::More's subtests. Filtering and setup/teardown can be d...
<br>
Rating: 4/10
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
1394139513961397139813991400140114021403=item L<Passwd::Unix>
Author: L<STRZELEC|https://metacpan.org/author/STRZELEC>
No tests. No detailed error status, only true/false (yes, there is a 'warnings' parameter on constructor, but this doesn't give out warnings on all operations, only some). No locking (although there is backup, but still).
<br><br>Also, some weird choices, why use bzip2 when creating backup? Or, why still require running as root (checking $() if we are allowing custom database file location?
<br><br>Between this and Unix::ConfigFile, I'm seriously considering using Unix commands instead (useradd, userdel, gpasswd, et al).
<br><br>UPDATE 2011-04-21: I created a fork of Passwd::Unix 0.52 called Passwd::Unix::Alt instead, which add some tests and modifications. Try it out if your needs are also not met by Passwd::Unix.
<br><br>UPDATE 2012-08-30: I created a new module called Unix::Passwd::File. Try it out if your needs are also not met by Passwd::Unix.
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
1541154215431544154515461547154815491550=item L<DateTime::BusinessHours>
Author: L<BRICAS|https://metacpan.org/author/BRICAS>
Just tried it. It works, but the module/dist is not in the best shape:
<br><br>* Test fails (pod-coverage, error in POD)
<br><br>* dependency on Class::MethodMaker not yet specified
<br><br>* Documentation: Synopsis contains mistake (class name is DateTime::BusinessHours not BusinessHours), the name '$testing' is not very suitable, there are typos.
<br><br>* Style-wise, method naming is "joinedwords", while in DateTime families it's "separated_words" (not a big deal though).
<br><br>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
view all matches for this distribution
1674167516761677167816791680168116821683Author: L<KAZEBURO|https://metacpan.org/author/KAZEBURO>
Log::Minimal
's slogan is "minimal but customizable". It'
s minimal alright, probably only suitable
for
simple scripts as the moment you organize your application/library into separate modules, you'll want/need categories instead of just leve...
<br><br>Also, only formats is customizable, there is currently
no
way to customize level. And the levels are
"
;not standard
"
; (not that there is an official authoritative standard, but the popular convention is TRACE/DEBUG/INFO/WARN/ERROR/FAT...
<br>
DEBUG/INFO/WARN/CRITICAL and NONE). Surely most people would expect another level between WARN and CRITICAL,
for
non-critical errors? But that is actually just a matter of taste.
<br>
Rating: 4/10
view release on metacpan or search on metacpan
lib/Acme/CPANModules/ModuleAutoinstallers.pm view on Meta::CPAN
13141516171819202122These
"module autoinstallers"
modules can automatically install missing module
during run-
time
using one of installers (usually `cpanm` a.k.a.
<pm:App::cpanminus>). Convenient
when
running a Perl script (that comes without
a proper distribution or `cpanfile`) that uses several modules which you might
not have. The alternative to lib::xi is the
"trial and error"
method: repeatedly
run the Perl script to see which module it tries and fails to load.
`perlfunc` under the `
require
` function.
lib/Acme/CPANModules/ModuleAutoinstallers.pm view on Meta::CPAN
view all matches for this distribution
51525354555657585960These
"module autoinstallers"
modules can automatically install missing module
during run-
time
using one of installers (usually C<cpanm> a.k.a.
L<App::cpanminus>). Convenient
when
running a Perl script (that comes without
a proper distribution or C<cpanfile>) that uses several modules which you might
not have. The alternative to lib::xi is the
"trial and error"
method: repeatedly
run the Perl script to see which module it tries and fails to load.
C<perlfunc> under the C<
require
> function.
view release on metacpan or search on metacpan
lib/Acme/CPANModules/OneLinerTools.pm view on Meta::CPAN
4546474849505152535455
description
=> <<
'MARKDOWN'
,
This module can automatically install missing module during run-
time
using
`cpanm`. Convenient
when
running a Perl script (that comes without a proper
distribution or `cpanfile`) that uses several modules which you might not have.
The alternative to lib::xi is the
"trial and error"
method: repeatedly run the
Perl script to see which module it tries and fails to load.
lib::xi works by installing a hook in `
@INC
`.
MARKDOWN
lib/Acme/CPANModules/OneLinerTools.pm view on Meta::CPAN
view all matches for this distribution
207208209210211212213214215Author: L<GFUJI|https://metacpan.org/author/GFUJI>
This module can automatically install missing module during run-
time
using
C<cpanm>. Convenient
when
running a Perl script (that comes without a proper
distribution or C<cpanfile>) that uses several modules which you might not have.
The alternative to lib::xi is the
"trial and error"
method: repeatedly run the
Perl script to see which module it tries and fails to load.
lib::xi works by installing a hook in C<
@INC
>.
view release on metacpan or search on metacpan
lib/Acme/CPANModules/OrderedHash.pm view on Meta::CPAN
376377378379380381382383384385386Result formatted as table (
split
, part 1 of 4):
#table1#
{
dataset
=>
"insert 1000 pairs"
}
+----------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) |
time
(ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+----------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| Tie::StoredOrderHash | 539 | 1.85 | 0.00% | 528.45% | 1.4e-06 | 22 |
| Tie::LLHash | 640 | 1.6 | 19.19% | 427.28% | 3.4e-06 | 20 |
| Array::OrdHash | 889 | 1.12 | 64.84% | 281.24% | 9.6e-07 | 20 |
| Tie::IxHash | 1080 | 0.928 | 99.73% | 214.65% | 6.1e-07 | 20 |
lib/Acme/CPANModules/OrderedHash.pm view on Meta::CPAN
421422423424425426427428429430431Result formatted as table (
split
, part 2 of 4):
#table2#
{
dataset
=>
"insert 1000 pairs + delete"
}
+----------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) |
time
(ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+----------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| Tie::IxHash | 31 | 32 | 0.00% | 5838.76% | 4.8e-05 | 21 |
| Tie::StoredOrderHash | 310 | 3.3 | 875.00% | 509.10% | 8.6e-06 | 21 |
| Tie::LLHash | 376 | 2.66 | 1098.31% | 395.59% | 2.5e-06 | 20 |
| Array::OrdHash | 440 | 2.3 | 1289.81% | 327.31% | 6.1e-06 | 20 |
lib/Acme/CPANModules/OrderedHash.pm view on Meta::CPAN
466467468469470471472473474475476Result formatted as table (
split
, part 3 of 4):
#table3#
{
dataset
=>
"insert 1000 pairs + iterate 10 times"
}
+----------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) |
time
(ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+----------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| Tie::StoredOrderHash | 71 | 14 | 0.00% | 508.52% | 2e-05 | 20 |
| Tie::LLHash | 75.4 | 13.3 | 5.52% | 476.69% | 1.2e-05 | 24 |
| Array::OrdHash | 87.2 | 11.5 | 22.04% | 398.65% | 1e-05 | 20 |
| Tie::IxHash | 107 | 9.36 | 49.51% | 307.02% | 2.5e-06 | 20 |
lib/Acme/CPANModules/OrderedHash.pm view on Meta::CPAN
511512513514515516517518519520521Result formatted as table (
split
, part 4 of 4):
#table4#
{
dataset
=>
"insert 1000 pairs + return keys 100 times"
}
+----------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| participant | rate (/s) |
time
(ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+----------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| Tie::StoredOrderHash | 17 | 58 | 0.00% | 1439.14% | 6.1e-05 | 20 |
| Tie::LLHash | 20 | 50 | 16.39% | 1222.37% | 7.3e-05 | 20 |
| Array::OrdHash | 25 | 40 | 44.54% | 964.81% | 0.00011 | 21 |
| Tie::IxHash | 26.8 | 37.3 | 54.99% | 893.08% | 3.3e-05 | 20 |
lib/Acme/CPANModules/OrderedHash.pm view on Meta::CPAN
view all matches for this distribution
561562563564565566567568569570571Result formatted as table:
#table5#
+----------------------+-----------+-------------------+-----------------------+-----------------------+-----------+---------+
| participant |
time
(ms) | mod_overhead_time | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+----------------------+-----------+-------------------+-----------------------+-----------------------+-----------+---------+
| Hash::Ordered | 14 | 6 | 0.00% | 80.85% | 0.00011 | 20 |
| Tie::Hash::Indexed | 13 | 5 | 3.99% | 73.91% | 9.5e-05 | 21 |
| Array::OrdHash | 13 | 5 | 9.26% | 65.51% | 9.4e-05 | 20 |
| Tree::RB::XS | 12 | 4 | 9.34% | 65.39% | 9.6e-05 | 20 |
view release on metacpan or search on metacpan
lib/Acme/CPANModules/PERLANCAR/PluginSystem.pm view on Meta::CPAN
66676869707172737475
module
=>
"Require::HookPlugin"
,
description
=>
<<'_',
Another project where I implemented the same plugin system to a require hook
framework. Require::HookPlugin (RHP) was started in July 2023 because I found
hook ordering in <pm:Require::HookChain> (RHC) to be fragile and error-prone.
Plus, I want more customizability and composability than what RHC provides.
_
},
lib/Acme/CPANModules/PERLANCAR/PluginSystem.pm view on Meta::CPAN
view all matches for this distribution
151152153154155156157158159160=item L<Require::HookPlugin>
Another project where I implemented the same plugin system to a require hook
framework. Require::HookPlugin (RHP) was started in July 2023 because I found
hook ordering in L<Require::HookChain> (RHC) to be fragile and error-prone.
Plus, I want more customizability and composability than what RHC provides.
=back
view release on metacpan or search on metacpan
lib/Acme/CPANModules/PERLANCAR/RsyncEnhancements.pm view on Meta::CPAN
3334353637383940414243Rsync can resume a partial sync, but does not automatically retries. An annoying
thing is invoking an rsync command to sync a large tree, leaving the computer
for
the day, then returning the following day hoping the transfer would be
completed, only to see that it failed early because of a network hiccup. This
wrapper automatically retries rsync
when
there is a transfer error.
_
},
{
module
=>
"App::rsynccolor"
,
lib/Acme/CPANModules/PERLANCAR/RsyncEnhancements.pm view on Meta::CPAN
view all matches for this distribution
96979899100101102103104105106Rsync can resume a partial sync, but does not automatically retries. An annoying
thing is invoking an rsync command to sync a large tree, leaving the computer
for
the day, then returning the following day hoping the transfer would be
completed, only to see that it failed early because of a network hiccup. This
wrapper automatically retries rsync
when
there is a transfer error.
=item * L<App::rsynccolor>
This wrapper adds some color to the rsync output, particularly giving a red to
view release on metacpan or search on metacpan
lib/Acme/CPANModules/SmartMatch.pm view on Meta::CPAN
5758596061626364656667In perl 5.38 (2023) smart match is deprecated. You can
no
longer silence the
warning
with
"https://metacpan.org/pod/use">use experimental 'smartmatch'"
and must replace the
use
of smart
match
with
something
else
.
Perl 5.42 (planned 2025) will
finally
remove smart match, resulting in a syntax
*
*Modules
**
However,
if
you still miss smart matching, some modules have been written to
lib/Acme/CPANModules/SmartMatch.pm view on Meta::CPAN
view all matches for this distribution
183184185186187188189190191192193In perl 5.38 (2023) smart match is deprecated. You can
no
longer silence the
warning
with
"https://metacpan.org/pod/use">use experimental 'smartmatch'"
and must replace the
use
of smart
match
with
something
else
.
Perl 5.42 (planned 2025) will
finally
remove smart match, resulting in a syntax
B<Modules>
However,
if
you still miss smart matching, some modules have been written to
give you the same/similar feature.
view release on metacpan or search on metacpan
lib/Acme/CPANModules/TextTable.pm view on Meta::CPAN
10301031103210331034103510361037103810391040Result formatted as table (
split
, part 1 of 5):
#table1#
{
dataset
=>
"large (30x300)"
}
+-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| participant | rate (/s) |
time
(ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| Text::UnicodeBox::Table | 0.92 | 1100 | 0.00% | 35566.44% | 0.0024 | 20 |
| Text::ANSITable | 1.8 | 560 | 94.68% | 18220.90% | 0.0012 | 20 |
| Text::Table::More | 2.5 | 400 | 167.94% | 13211.33% | 0.00094 | 20 |
| Text::ASCIITable | 9.6 | 100 | 934.43% | 3347.94% | 0.00076 | 20 |
lib/Acme/CPANModules/TextTable.pm view on Meta::CPAN
11171118111911201121112211231124112511261127Result formatted as table (
split
, part 2 of 5):
#table2#
{
dataset
=>
"long (3x300)"
}
+-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| participant | rate (/s) |
time
(ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| Text::UnicodeBox::Table | 7.4 | 140 | 0.00% | 35069.88% | 0.0005 | 20 |
| Text::ANSITable | 17 | 58 | 132.94% | 14998.05% | 0.00043 | 21 |
| Text::Table::More | 21 | 49 | 178.85% | 12512.60% | 0.00046 | 20 |
| Text::ASCIITable | 100 | 10 | 1223.05% | 2558.25% | 0.00022 | 22 |
lib/Acme/CPANModules/TextTable.pm view on Meta::CPAN
12041205120612071208120912101211121212131214Result formatted as table (
split
, part 3 of 5):
#table3#
{
dataset
=>
"small (3x5)"
}
+-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| participant | rate (/s) |
time
(ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| Text::UnicodeBox::Table | 200 | 6 | 0.00% | 55334.94% | 0.00017 | 20 |
| Text::ANSITable | 690 | 1.5 | 340.32% | 12489.56% | 5.2e-06 | 20 |
| Text::Table::More | 990 | 1 | 531.41% | 8679.51% | 2.9e-06 | 20 |
| Text::Table::TinyBorderStyle | 3800 | 0.26 | 2336.25% | 2175.42% | 3.8e-07 | 22 |
lib/Acme/CPANModules/TextTable.pm view on Meta::CPAN
12911292129312941295129612971298129913001301Result formatted as table (
split
, part 4 of 5):
#table4#
{
dataset
=>
"tiny (1x1)"
}
+-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| participant | rate (/s) |
time
(ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
| Text::UnicodeBox::Table | 400 | 3 | 0.00% | 81511.84% | 7e-05 | 20 |
| Text::ANSITable | 2000 | 0.6 | 345.42% | 18222.60% | 1.7e-05 | 20 |
| Text::Table::More | 3100 | 0.32 | 765.49% | 9329.53% | 1.4e-06 | 20 |
| Text::Table::TinyBorderStyle | 4500 | 0.22 | 1159.08% | 6381.86% | 9.5e-07 | 20 |
lib/Acme/CPANModules/TextTable.pm view on Meta::CPAN
13781379138013811382138313841385138613871388Result formatted as table (
split
, part 5 of 5):
#table5#
{
dataset
=>
"wide (30x5)"
}
+-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| participant | rate (/s) |
time
(ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| Text::UnicodeBox::Table | 33 | 30 | 0.00% | 40107.73% | 0.00028 | 20 |
| Text::ANSITable | 70 | 10 | 112.30% | 18838.85% | 0.00034 | 20 |
| Text::Table::More | 100 | 9 | 242.25% | 11648.22% | 0.00016 | 20 |
| Text::ASCIITable | 450 | 2.2 | 1269.60% | 2835.73% | 1.8e-05 | 21 |
lib/Acme/CPANModules/TextTable.pm view on Meta::CPAN
view all matches for this distribution
14701471147214731474147514761477147814791480Result formatted as table:
#table6#
+-------------------------------+-----------+----------------------+-----------------------+-----------------------+-----------+---------+
| participant |
time
(ms) | mod_overhead_time | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------------+-----------+----------------------+-----------------------+-----------------------+-----------+---------+
| Text::UnicodeBox::Table | 190 | 181 | 0.00% | 2053.49% | 0.00061 | 20 |
| Text::Table::Manifold | 110 | 101 | 75.66% | 1125.93% | 0.00039 | 20 |
| Text::ANSITable | 48 | 39 | 286.81% | 456.73% | 0.00026 | 20 |
| Text::MarkdownTable | 46 | 37 | 301.84% | 435.91% | 0.00031 | 21 |
view release on metacpan or search on metacpan
lib/Acme/CPANModules/UUID.pm view on Meta::CPAN
565566567568569570571572573574575Result formatted as table:
#table1#
+---------------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| participant | rate (/s) |
time
(ms) | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+---------------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
| UUID::Random::Secure::generate | 30 | 30 | 0.00% | 4218.76% | 0.0013 | 22 |
| UUID::Random::Secure::generate_rfc | 40 | 20 | 42.61% | 2928.29% | 0.0003 | 21 |
| UUID::Random | 100 | 9 | 257.90% | 1106.70% | 0.00018 | 20 |
| UUID::Tiny | 100 | 8 | 335.56% | 891.54% | 0.00013 | 20 |
lib/Acme/CPANModules/UUID.pm view on Meta::CPAN
view all matches for this distribution
616617618619620621622623624625626Result formatted as table:
#table2#
+-------------------------+-----------+-------------------+-----------------------+-----------------------+-----------+---------+
| participant |
time
(ms) | mod_overhead_time | pct_faster_vs_slowest | pct_slower_vs_fastest | errors | samples |
+-------------------------+-----------+-------------------+-----------------------+-----------------------+-----------+---------+
| UUID::Random::Secure | 95 | 88.45 | 0.00% | 1352.22% | 0.00022 | 20 |
| UUID::FFI | 53 | 46.45 | 80.85% | 703.01% | 0.00013 | 20 |
| UUID::Tiny | 26.7 | 20.15 | 256.48% | 307.38% | 2.3e-05 | 20 |
| Crypt::Misc | 20.9 | 14.35 | 354.68% | 219.40% | 1.9e-05 | 20 |
view release on metacpan or search on metacpan
devdata/https_mojolicious.io_blog_2017_12_06_day-6-adding-your-own-commands view on Meta::CPAN
view all matches for this distribution
256257258259260261262263264265266The class
has
two required attributes, <code>sqlite</code> and <code>appid</code>.
Whoever instantiates this class will need to pass them in.</p>
<p>The fetch method builds a URL from attributes and a passed-in search term.
It then requests the data from OpenWeatherMap.
The <code>result</code> method dies
if
there is a connection error.
For brevity I&
#39;m being a little lax on other error checking.</p>
<p>The other two methods insert data into sqlite and recall it out again, again based on a search term.
This is basically just caching the data from OpenWeatherMap
Again
for
brevity I&
#39;m only storing the term, the time, and the temperature.</p>
view release on metacpan or search on metacpan
devdata/https_mojolicious.io_blog_2018_12_04_testing-hooks-and-helpers_ view on Meta::CPAN
view all matches for this distribution
158159160161162163164165166167168hook after_dispatch =
>
;
sub
{
my
(
$c
) =
@_
;
return
unless
my
$e
=
$c
-
>
;stash( &
#39;exception' );
state
$path
=
$c
-
>
;app-
>
;home-
>
;child(
"
;exception.
log
"
;);
state
$log
= Mojo::Log-
>
;new( path =
>
;
$path
);
$log
-
>
;error(
$e
);
};
app-
>
;start;
</code></pre>
<p>To test this, once I&
#39;ve loaded my app and created a Test::Mojo object,
view release on metacpan or search on metacpan
lib/Acme/CPANModules/Import/PERLANCAR/Advent/2014_12_14.pm view on Meta::CPAN
4567891011121314our
$DATE
=
'2018-09-22'
;
# DATE
our
$VERSION
=
'0.001'
;
# VERSION
our
$LIST
= {
description
=>
"This list is generated by extracting module names mentioned in [http://blogs.perl.org/users/perlancar/2014/12/day-14-what-the-procchilderror.html] (retrieved on 2016-11-07). Visit the URL for the full contents."
,
entries
=> [{
module
=>
"Proc::ChildError"
}],
summary
=>
"Modules mentioned in PERLANCAR's 2014 advent calendar article series (day 14)"
,
};
1;
lib/Acme/CPANModules/Import/PERLANCAR/Advent/2014_12_14.pm view on Meta::CPAN
view all matches for this distribution
30313233343536373839=head1 DESCRIPTION
Modules mentioned in PERLANCAR's 2014 advent calendar article series (day 14).
This list is generated by extracting module names mentioned in [http://blogs.perl.org/users/perlancar/2014/12/day-14-what-the-procchilderror.html] (retrieved on 2016-11-07). Visit the URL for the full contents.
=head1 INCLUDED MODULES
=over
view release on metacpan or search on metacpan
devdata/http_advent.perldancer.org_2018_16 view on Meta::CPAN
116117118119120121122123124125126
@queue_map
{
@QUEUE_TYPES
} = ();
my
@invalid_queues
=
grep
!
exists
$queue_map
{
$_
},
@queues
;
return
@invalid_queues
;
}</pre>
<p>With that in place, it was easy
for
our
<code>queue_job()</code> method to throw an error
if
the developer tried to add a job to an invalid queue:</p>
<pre class=
"prettyprint"
>
sub
queue_job(
$self
,
$args
) {
my
$job_name
=
$args
-
>
;{ name } or
die
"queue_job(): must define job name!"
;
my
$guid
=
$args
-
>
;{ guid } or
die
"queue_job(): must have GUID to process!"
;
my
$title
=
$args
-
>
;{ title } //
$job_name
;
my
$queue
=
$args
-
>
;{ queue } //
'default'
;
devdata/http_advent.perldancer.org_2018_16 view on Meta::CPAN
145146147148149150151152153154155156157158159160161162163164165
default
=
>
;
sub
(
$self
) {
return
MyJob::JobQueue-
>
;new-
>
;runner; },
);</pre>
<p>And in the models themselves, creating a new queueable task was as easy as:</p>
<pre class=
"prettyprint"
>
$self
-
>
;runner-
>
;add_task( InstantXML =
>
;
sub
(
$job
,
$request_path
,
$guid
,
$company_db
,
$force
,
$die_on_error
= 0 ) {
$job
-
>
;note(
request_path =
>
;
$request_path
,
feed_id =
>
; 2098,
group =
>
;
$company_db
,
);
MyJob::Models::FooBar-
>
;new( request_path =
>
;
$request_path
)-
>
;generate_xml({
pdf_guid =
>
;
$guid
,
group =
>
;
$company_db
,
force =
>
;
$force
,
die_on_error =
>
;
$die_on_error
,
});
});</pre>
<h2><a name=
"running_jobs"
></a>Running Jobs</h2>
devdata/http_advent.perldancer.org_2018_16 view on Meta::CPAN
view all matches for this distribution
244245246247248249250251252253254255256
$0 =
"$title $guid"
;
$logger
-
>
;info(
"$title: Created child process $pid for job $id by parent $$ - $guid"
);
});
$job
-
>
;on( failed =
>
;
sub
(
$job
,
$error
) {
chomp
$error
;
$logger
-
>
;error(
$error
);
});
});</pre>
<p>To help us
for
future capacity planning, we want
our
workers to
tell
us
if
they are running at peak capacity, so
log
when
this event occurs:</p>
<pre class=
"prettyprint"
>
$worker
-
>
;on( busy =
>
;
sub
(
$worker
) {
view release on metacpan or search on metacpan
lib/Acme/CPANModulesUtil/Bencher.pm view on Meta::CPAN
view all matches for this distribution
245246247248249250251252253254255256=back
Returns an enveloped result (an array).
First element ($status_code) is an integer containing HTTP-like status code
(200 means OK, 4xx caller error, 5xx function error). Second element
($reason) is a string containing error message, or something like "OK" if status is
200. Third element ($payload) is the actual result, but usually not present when enveloped result is an error response ($status_code is not 2xx). Fourth
element (%result_meta) is called result metadata and is optional, a hash
that contains extra information, much like how HTTP response headers provide additional metadata.
Return value: (any)
view release on metacpan or search on metacpan
lib/Acme/CPANModulesUtil/FeatureMatrix.pm view on Meta::CPAN
view all matches for this distribution
189190191192193194195196197198199200=back
Returns an enveloped result (an array).
First element ($status_code) is an integer containing HTTP-like status code
(200 means OK, 4xx caller error, 5xx function error). Second element
($reason) is a string containing error message, or something like "OK" if status is
200. Third element ($payload) is the actual result, but usually not present when enveloped result is an error response ($status_code is not 2xx). Fourth
element (%result_meta) is called result metadata and is optional, a hash
that contains extra information, much like how HTTP response headers provide additional metadata.
Return value: (any)
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
45464748495051525354# Whether or not inc::Module::Install is actually loaded, the
# $INC{inc/Module/Install.pm} is what will still get set as long as
# the caller loaded module this in the documented manner.
# If not set, the caller may NOT have loaded the bundled version, and thus
# they may not have a MI version that works with the Makefile.PL. This would
# result in false errors or unexpected behaviour. And we don't want that.
my
$file
=
join
(
'/'
,
'inc'
,
split
/::/, __PACKAGE__ ) .
'.pm'
;
unless
(
$INC
{
$file
} ) {
die
<<
"END_DIE"
}
Please invoke ${\__PACKAGE__}
with
:
inc/Module/Install.pm view on Meta::CPAN
view all matches for this distribution
76777879808182838485
# If the modification time is only slightly in the future,
# sleep briefly to remove the problem.
my
$a
=
$s
-
time
;
if
(
$a
> 0 and
$a
< 5 ) {
sleep
5 }
# Too far in the future, throw an error.
my
$t
=
time
;
if
(
$s
>
$t
) {
die
<<
"END_DIE"
}
Your installer $0
has
a modification
time
in the future (
$s
>
$t
).