view release on metacpan or search on metacpan
lib/Acme/BOATES.pm $(INST_MAN3DIR)/Acme::BOATES.$(MAN3EXT)
# --- MakeMaker processPL section:
# --- MakeMaker installbin section:
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/Backwards.pm view on Meta::CPAN
our $VERSION = '1.01';
use Keyword::Declare;
sub import {
keytype OKAY is m{(?:fisle (?&PerlNWS)(?&PerlExpression).*?;|esle (?&PerlNWS).*?;)?+}xms;
keyword rof (/(my\s*\$\w+)?/ $declare, Expr $test, /.+?;$/ $code) {_backwards('for', ($declare ? $declare : ()), $test, $code);};
keyword fi (Expr $test, /.+?;/ $code, OKAY @next) {_backwards('if', $test, $code)._process_backwards(@next);};
keyword sselnu (Expr $test, /.+?;/ $code, OKAY @next) {_backwards('unless', $test, $code)._process_backwards(@next);};
}
sub _process_backwards {join' ',map{$_=~m/(fisle|esle)(.*)$/;return"_$1"->($2)}@_;}
sub _esle {_backwards('else','',shift)}
sub _fisle {shift=~m/\s*((?&PerlExpression))\s*(.*?;) $PPR::GRAMMAR/gxm;_backwards('elsif', $1, $2);}
sub _backwards {scalar@_>3?sprintf"%s %s %s { %s }",@_:sprintf"%s %s { %s }",@_;}
1;
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/AutoInstall.pm view on Meta::CPAN
.
if (
eval '$>' and lc(`sudo -V`) =~ /version/ and _prompt(
qq(
==> Should we try to re-execute the autoinstall process with 'sudo'?),
((-t STDIN) ? 'y' : 'n')
) =~ /^[Yy]/
)
{
# try to bootstrap ourselves from sudo
print << ".";
*** Trying to re-execute the autoinstall process with 'sudo'...
.
my $missing = join( ',', @Missing );
my $config = join( ',',
UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config} )
if $Config;
view all matches for this distribution
view release on metacpan or search on metacpan
debian/rules view on Meta::CPAN
clean:
dh_testdir
dh_testroot
rm -f build-stamp
# Add here commands to clean up after the build process.
-./Build realclean
dh_clean
install:
view all matches for this distribution
view release on metacpan or search on metacpan
Buckaroo.pm view on Meta::CPAN
{
my $first = shift; # name of module, in this case "Buckaroo.pm"
my $source_filename = $0; # name of file called from (if test.pl does a 'use Acme::Buckaroo;' then this will be "test.pl")
print("Starting \"Buckaroo\" process...\n") if $debug_mode;
# set up some hashes to go to/from encoding scheme.
my $i = 0;
foreach my $this_elem (@xlate_array)
{
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/AutoInstall.pm view on Meta::CPAN
.
if (
eval '$>' and lc(`sudo -V`) =~ /version/ and _prompt(
qq(
==> Should we try to re-execute the autoinstall process with 'sudo'?),
((-t STDIN) ? 'y' : 'n')
) =~ /^[Yy]/
)
{
# try to bootstrap ourselves from sudo
print << ".";
*** Trying to re-execute the autoinstall process with 'sudo'...
.
my $missing = join( ',', @Missing );
my $config = join( ',',
UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config} )
if $Config;
view all matches for this distribution
view release on metacpan or search on metacpan
examples/update100.pl view on Meta::CPAN
# update other files
my $parser = Template->new(\%config); # initialise parser
for my $template (@files) {
eval {
# parse to text
$parser->process($template,\%tvars,$template) or die $parser->error();
};
die "TT PARSER ERROR: eval=$@, error=" . $parser->error if($@);
}
view all matches for this distribution
view release on metacpan or search on metacpan
examples/update100.pl view on Meta::CPAN
# update other files
my $parser = Template->new(\%config); # initialise parser
for my $template (@files) {
eval {
# parse to text
$parser->process($template,\%tvars,$template) or die $parser->error();
};
die "TT PARSER ERROR: eval=$@, error=" . $parser->error if($@);
}
view all matches for this distribution
view release on metacpan or search on metacpan
directory to install modules to. For details, see the local::lib documentation:
https://metacpan.org/pod/local::lib
The prerequisites of this distribution will also have to be installed manually. The
prerequisites are listed in one of the files: `MYMETA.yml` or `MYMETA.json` generated
by running the manual build process described above.
## Configure Prerequisites
This distribution requires other modules to be installed before this
distribution's installer can be run. They can be found under the
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
print FH $_[$_] or die "print($_[0]): $!";
}
close FH or die "close($_[0]): $!";
}
# _version is for processing module versions (eg, 1.03_05) not
# Perl versions (eg, 5.8.1).
sub _version {
my $s = shift || 0;
my $d =()= $s =~ /(\.)/g;
if ( $d >= 2 ) {
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install/Win32.pm view on Meta::CPAN
Please download the file manually, save it to a directory in %PATH% (e.g.
C:\WINDOWS\COMMAND\), then launch the MS-DOS command line shell, "cd" to
that directory, and run "Nmake15.exe" from there; that will create the
'nmake.exe' file needed by this module.
You may then resume the installation process described in README.
-------------------------------------------------------------------------------
END_MESSAGE
}
view all matches for this distribution
view release on metacpan or search on metacpan
scripts/generate-github-authors.pl view on Meta::CPAN
use FindBin;
my $VERSION = '0.09';
my (%name, %github);
process_authors();
process_releases();
write_file();
exit;
sub process_authors {
my $search = MetaCPAN::Client->new->all('authors');
AUTHOR:
while (my $author = $search->next) {
my $pauseid = $author->pauseid;
next unless $pauseid;
scripts/generate-github-authors.pl view on Meta::CPAN
}
}
}
sub process_releases {
my $search = MetaCPAN::Client->new->release({
all => [
{ maturity => 'released' },
{ status => 'latest' },
{
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/AutoInstall.pm view on Meta::CPAN
.
if (
eval '$>' and lc(`sudo -V`) =~ /version/ and _prompt(
qq(
==> Should we try to re-execute the autoinstall process with 'sudo'?),
((-t STDIN) ? 'y' : 'n')
) =~ /^[Yy]/
)
{
# try to bootstrap ourselves from sudo
print << ".";
*** Trying to re-execute the autoinstall process with 'sudo'...
.
my $missing = join( ',', @Missing );
my $config = join( ',',
UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config} )
if $Config;
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
print FH $_[$_] or die "print($_[0]): $!";
}
close FH or die "close($_[0]): $!";
}
# _version is for processing module versions (eg, 1.03_05) not
# Perl versions (eg, 5.8.1).
sub _version {
my $s = shift || 0;
my $d =()= $s =~ /(\.)/g;
if ( $d >= 2 ) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANLists/Import/PERLANCAR/Advent/2014_12_17.pm view on Meta::CPAN
package Acme::CPANLists::Import::PERLANCAR::Advent::2014_12_17;
our $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-17-checking-process-existence-and-listing-processes-procfind.html] (retrieved on 2016-11-07). Visit ...
1;
# ABSTRACT: Modules mentioned in PERLANCAR's 2014 advent calendar article series (day 17)
__END__
lib/Acme/CPANLists/Import/PERLANCAR/Advent/2014_12_17.pm view on Meta::CPAN
This document describes version 0.001 of Acme::CPANLists::Import::PERLANCAR::Advent::2014_12_17 (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-17-checking-process-existence-and-listing-processes-procfind.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 17)
This list is generated by extracting module names mentioned in [http://blogs.perl.org/users/perlancar/2014/12/day-17-checking-process-existence-and-listing-processes-procfind.html] (retrieved on 2016-11-07). Visit the URL for the full contents.
=over
=item * L<Proc::Exists>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANLists/Import/PerlTricks/WhatsNewOnCPAN/201612.pm view on Meta::CPAN
package Acme::CPANLists::Import::PerlTricks::WhatsNewOnCPAN::201612;
our $DATE = '2017-01-06'; # DATE
our $VERSION = '0.001'; # VERSION
our @Module_Lists = ({description=>"This list is generated by extracting module names mentioned in [http://perltricks.com/article/what-s-new-on-cpan---december-2016/] (retrieved on 2017-01-06). Visit the URL for the full contents.",entries=>[{module=...
1;
# ABSTRACT: Modules mentioned in PerlTricks.com's What's New on CPAN article, edition Dec 2016
__END__
lib/Acme/CPANLists/Import/PerlTricks/WhatsNewOnCPAN/201612.pm view on Meta::CPAN
=item * L<MarpaX::Languages::Dash>
=item * L<MojoX::LineStream>
=item * L<Mojolicious::Plugin::Subprocess>
=item * L<Mongol>
=item * L<Monitor::MetricsAPI>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANLists/Import/RSAVAGE/XML_2006.pm view on Meta::CPAN
package Acme::CPANLists::Import::RSAVAGE::XML_2006;
our $DATE = '2016-02-21'; # DATE
our $VERSION = '0.02'; # VERSION
our @Module_Lists = ({description=>"This list is generated by extracting module names mentioned in the article [http://savage.net.au/Ron/html/XML-ramble.html] (retrieved on 2016-02-21). For the full article, visit the URL.",entries=>[{module=>"XML::D...
1;
# ABSTRACT: CPAN modules for XML processing (2006)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANLists::Import::RSAVAGE::XML_2006 - CPAN modules for XML processing (2006)
=head1 VERSION
This document describes version 0.02 of Acme::CPANLists::Import::RSAVAGE::XML_2006 (from Perl distribution Acme-CPANLists-Import-RSAVAGE), released on 2016-02-21.
lib/Acme/CPANLists/Import/RSAVAGE/XML_2006.pm view on Meta::CPAN
This module is generated by extracting module names mentioned in the article L<http://savage.net.au/Ron/html/XML-ramble.html> (retrieved on 2016-02-21). For the full article, visit the URL.
=head1 MODULE LISTS
=head2 CPAN modules for XML processing (2006)
This list is generated by extracting module names mentioned in the article [http://savage.net.au/Ron/html/XML-ramble.html] (retrieved on 2016-02-21). For the full article, visit the URL.
=over
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANLists/Import/DatesPart1.pm view on Meta::CPAN
package Acme::CPANLists::Import::DatesPart1;
our $DATE = '2016-12-28'; # DATE
our $VERSION = '0.03'; # VERSION
our @Module_Lists = ({description=>"This list is generated by extracting module names mentioned in the article [http://blogs.perl.org/users/buddy_burden/2015/09/a-date-with-cpan-part-1-state-of-the-union.html] (retrieved on 2016-07-19). For the full ...
1;
# ABSTRACT: CPAN modules for processing dates - Part 1 (2015)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANLists::Import::DatesPart1 - CPAN modules for processing dates - Part 1 (2015)
=head1 VERSION
This document describes version 0.03 of Acme::CPANLists::Import::DatesPart1 (from Perl distribution Acme-CPANLists-Import), released on 2016-12-28.
lib/Acme/CPANLists/Import/DatesPart1.pm view on Meta::CPAN
This module is generated by extracting module names mentioned in the article L<http://blogs.perl.org/users/buddy_burden/2015/09/a-date-with-cpan-part-1-state-of-the-union.html> (retrieved on 2016-07-19). For the full article, visit the URL.
=head1 MODULE LISTS
=head2 CPAN modules for processing dates - Part 1 (2015)
This list is generated by extracting module names mentioned in the article [http://blogs.perl.org/users/buddy_burden/2015/09/a-date-with-cpan-part-1-state-of-the-union.html] (retrieved on 2016-07-19). For the full article, visit the URL.
=over
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANLists/PERLANCAR/Task/PickingRandomLinesFromFile.pm view on Meta::CPAN
This module gives you a choice of two algorithms. The first is similar to
<pm:File::Random> (the scan method), giving each line of the file equal weight.
The second algorithm is more interesting: it works by random seeking the file,
discarding the line fragment (a.k.a. searching forward for the next newline
character), reading the next line, then repeating the process until the desired
number of lines is reached. This means one doesn't have to read the whole file
and the picking process is much faster than the scan method. It might be
preferred for very large files.
Note that due to the nature of the algorithm, lines are weighted by the number
of characters. In other words, lines that have long lines immediately preceding
them will have a greater probability of being picked. Depending on your use case
lib/Acme/CPANLists/PERLANCAR/Task/PickingRandomLinesFromFile.pm view on Meta::CPAN
This module gives you a choice of two algorithms. The first is similar to
L<File::Random> (the scan method), giving each line of the file equal weight.
The second algorithm is more interesting: it works by random seeking the file,
discarding the line fragment (a.k.a. searching forward for the next newline
character), reading the next line, then repeating the process until the desired
number of lines is reached. This means one doesn't have to read the whole file
and the picking process is much faster than the scan method. It might be
preferred for very large files.
Note that due to the nature of the algorithm, lines are weighted by the number
of characters. In other words, lines that have long lines immediately preceding
them will have a greater probability of being picked. Depending on your use case
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/CLI/PasswordManager.pm view on Meta::CPAN
Cons:
- At the time of this writing (version 1.0.0) only the password hash is stored
and returned, making this application unusable at the moment.
- Password must be entered as command-line argument, making it visible from
process list and shell history, unless you explicitly disable those.
- Cannot add other fields to a record, e.g. comment/note, date, etc.
- Usernames are not encrypted.
MARKDOWN
},
lib/Acme/CPANModules/CLI/PasswordManager.pm view on Meta::CPAN
=item * At the time of this writing (version 1.0.0) only the password hash is stored
and returned, making this application unusable at the moment.
=item * Password must be entered as command-line argument, making it visible from
process list and shell history, unless you explicitly disable those.
=item * Cannot add other fields to a record, e.g. comment/note, date, etc.
=item * Usernames are not encrypted.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/CLI/Wrapper/UnixCommand.pm view on Meta::CPAN
_
entries => [
# convert (ImageMagick)
{
summary => 'Simple wrappers for ImageMagick\'s convert to process multiple filenames and automatically set output filenames',
module => 'App::ImageMagickUtils',
script => ['convert-image-to', 'convert-image-to-pdf'],
'x.command' => 'convert',
},
lib/Acme/CPANModules/CLI/Wrapper/UnixCommand.pm view on Meta::CPAN
module => 'App::diffwc',
script => ['diffwc', 'diffwc-filter-u'],
'x.command' => 'diff',
},
{
summary => 'Diffs two office word-processor documents by first converting them to plaintext',
module => 'App::DiffDocText',
script => ['diff-doc-text'],
'x.command' => 'diff',
},
{
lib/Acme/CPANModules/CLI/Wrapper/UnixCommand.pm view on Meta::CPAN
=head1 ACME::CPANMODULES ENTRIES
=over
=item * L<App::ImageMagickUtils> - Simple wrappers for ImageMagick's convert to process multiple filenames and automatically set output filenames
Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>
Scripts: L<convert-image-to>, L<convert-image-to-pdf>
lib/Acme/CPANModules/CLI/Wrapper/UnixCommand.pm view on Meta::CPAN
Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>
Scripts: L<diffwc>, L<diffwc-filter-u>
=item * L<App::DiffDocText> - Diffs two office word-processor documents by first converting them to plaintext
Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>
Script: L<diff-doc-text>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules_ScenarioR/CalculatingDayOfWeek.pm view on Meta::CPAN
## no critic
package Acme::CPANModules_ScenarioR::CalculatingDayOfWeek;
our $VERSION = 0.002; # VERSION
our $results = [[200,"OK",[{_name=>"participant=DateTime",_succinct_name=>"D",errors=>3.8e-08,participant=>"DateTime",pct_faster_vs_slowest=>0,pct_slower_vs_fastest=>80.570996978852,rate=>37000,samples=>24,time=>27},{_name=>"participant=Date::DayOfWe...
1;
# ABSTRACT: List of modules to calculate day of week
=head1 DESCRIPTION
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/DiffWrappers.pm view on Meta::CPAN
Scripts: L<diffwc>, L<diffwc-filter-u>
=item L<App::DiffDocText>
Diffs two office word-processor documents by first converting them to plaintext.
Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>
Script: L<diff-doc-text>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/DiffingStuffs.pm view on Meta::CPAN
**Structured data**
See separated list: <pm:Acme::CPANModules::DiffingStructuredData>.
**Word processor documents**
<prog:diff-doc-text> (from <pm:App::DiffDocText>) diffs two DOC/DOCX/ODT
documents by converting the documents to plaintext and diff-ing the plaintext
files.
lib/Acme/CPANModules/DiffingStuffs.pm view on Meta::CPAN
B<Structured data>
See separated list: L<Acme::CPANModules::DiffingStructuredData>.
B<Word processor documents>
L<diff-doc-text> (from L<App::DiffDocText>) diffs two DOC/DOCX/ODT
documents by converting the documents to plaintext and diff-ing the plaintext
files.
lib/Acme/CPANModules/DiffingStuffs.pm view on Meta::CPAN
=item * L<DBIx::Diff::Schema> - Compare schema of two DBI databases
Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>
=item * L<App::DiffDocText> - Diff the text of two Office word-processor documents (.doc, .docx, .odt, etc)
Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>
=item * L<App::DiffXlsText> - Diff the text of two Office spreadsheets (.ods, .xls, .xlsx) as two directories of CSV files
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules_ScenarioR/HTMLTable.pm view on Meta::CPAN
## no critic
package Acme::CPANModules_ScenarioR::HTMLTable;
our $VERSION = 0.002; # VERSION
our $results = do{my$var=[[200,"OK",[{_name=>"participant=Text::Table::Manifold",_succinct_name=>"TT:M",errors=>4.9e-05,participant=>"Text::Table::Manifold",pct_faster_vs_slowest=>0,pct_slower_vs_fastest=>6.36903376018626,rate=>15.8,samples=>21,time=...
1;
# ABSTRACT: List of modules that generate HTML tables
=head1 DESCRIPTION
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/HidingModules.pm view on Meta::CPAN
all core modules or all non-core modules. They also support recursive allowing,
i.e. you want to allow Moo and all the modules that Moo loads, and all the
modules that they load, and so on.
<pm:Devel::Hide>. Devel::Hide also works by installing a hook in `@INC`. It
supports propagating the hiding to child process by setting PERL5OPT environment
variable.
<pm:Test::Without::Module>.
lib/Acme/CPANModules/HidingModules.pm view on Meta::CPAN
all core modules or all non-core modules. They also support recursive allowing,
i.e. you want to allow Moo and all the modules that Moo loads, and all the
modules that they load, and so on.
L<Devel::Hide>. Devel::Hide also works by installing a hook in C<@INC>. It
supports propagating the hiding to child process by setting PERL5OPT environment
variable.
L<Test::Without::Module>.
B<Fooling module path finders>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2023-10-29'; # DATE
our $DIST = 'Acme-CPANModules-Import-CPANRatings-User-perlancar'; # DIST
our $VERSION = '0.002'; # VERSION
our $LIST = {description=>"This list is generated by scraping CPANRatings (cpanratings.perl.org) user page.",entries=>[{description=>"\nI'm not sure this really "befits a ::Tiny distribution" just because it's a thin wrapper of something. P...
1;
# ABSTRACT: List of modules mentioned by CPANRatings user perlancar
__END__
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
=item L<Perl::Critic>
Author: L<PETDANCE|https://metacpan.org/author/PETDANCE>
Hey, Perl::Critic has not been reviewed for quite a while...
<br><br>Finally take the plunge (again) to include Perl::Critic in my development work, this time adding critic test in the Dist::Zilla release process. Already caught a couple of stupid bugs otherwise uncaught by perl's -w. Aside from that, will hel...
=item L<Config::Perl>
Author: L<HAUKEX|https://metacpan.org/author/HAUKEX>
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
=item L<App::cpm>
Author: L<SKAJI|https://metacpan.org/author/SKAJI>
Due to parallel processes and defaulting on no_test, can be several times faster than cpanminus (tried installing a module on a vanilla perlbrew instance with local CPAN mirror, which pulled +- 200 distributions, "cpanm -n" took 2m9s, while...
<br>
=item L<Zodiac::Chinese>
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
=item L<Furl>
Author: L<SYOHEX|https://metacpan.org/author/SYOHEX>
@Kira S (I wish cpanratings adds a feature to comment on a review):
<br><br>Comparing WWW::Mechanize with Furl is not really apples-to-apples, since Furl does not support parsing/following links or form processing. As the Furl POD itself suggests, Furl is positioned as a faster alternative to LWP, not WWW::Mechanize.
=item L<Lingua::EN::Inflect>
Author: L<DCONWAY|https://metacpan.org/author/DCONWAY>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
our $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
=item L<Getopt::Long>
Author: L<JV|https://metacpan.org/author/JV>
Having worked for quite some time with option processing and several other similar modules, I have to say that most of the time you probably want to use Getopt::Long instead of the other alternatives. Or at least pick the alternatives which are based...
<br><br>Most other modules that reinvent option parsing either don't bother to do short option bundling (-abc instead of -a -b -c), or abbreviation (--long-o instead --long-option-name), or the choice to (dis)allow mix-mashing options and arguments, ...
<br>
=item L<Text::Table::Tiny>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
2010-10-13:
<br><br>I admit, this is not the most flexible configuration framework out there as it enforces some convention. And I don't/can't use it on every project. But it's certainly one of the easiest. You can slap a few lines of options declaration in your...
<br><br>There are still a few annoyances (I submitted them in the RT), but in general, this is a very handy module to use for lazy coders who just want to accept configuration/options from outside the code.
<br><br><shameless plug>I'm trying to do somewhat the same with Config::Tree, but as of now the module is not really done yet.</shameless plug>
<br><br>UPDATE 2013-08-15:
<br><br>I'm reducing the ratings from 5 to 2. I've now avoided using this module due to two lingering issue since 2010: 1) App::Options does not accept '--opt val', only '--opt=val' which is incompatible with how most command-line programs work, caus...
<br><br>I'm now using Perinci::CmdLine as replacement, but I cannot recommend it in general, as the two modules are not equivalent.
Rating: 4/10
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
=item L<lib::xi>
Author: L<GFUJI|https://metacpan.org/author/GFUJI>
Handy module for installing dependencies. There are previous efforts, but the arrival of cpanm makes autoinstall process less tedious, so hats off also to the creator of cpanm.
<br>
=item L<Capture::Tiny::Extended>
lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm view on Meta::CPAN
=item L<CGI::Struct>
Author: L<FULLERMD|https://metacpan.org/author/FULLERMD>
Cool, will definitely try this out the next time I write another form processing CGI script. Although the module is named CGI::, there's nothing CGI-specific about it, and that's good. So this module is basically a "path-expander" for hash ...
<br><br>Btw, one thing I use rather often in PHP is naming parameter as "foo[]" which will automatically add elements to the $_REQUEST['foo'] array. Perhaps this feature can be considered too.
=item L<DateTime::BusinessHours>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/JSONVariants.pm view on Meta::CPAN
7) **<pm:JSON::Diffable>**. Basically just allowing for trailing commas.
8) **JSONLines**. <https://jsonlines.org>. A more restrictive JSON format, all
JSON records must fit in one line as newline is the record delimiter. Encoding
must be UTF-8. Convention for line-oriented processing which support JSON. E.g.
for CSV replacement.
Perl moduless: <pm:JSON::Lines>.
lib/Acme/CPANModules/JSONVariants.pm view on Meta::CPAN
7) B<< L<JSON::Diffable> >>. Basically just allowing for trailing commas.
8) B<JSONLines>. L<https://jsonlines.org>. A more restrictive JSON format, all
JSON records must fit in one line as newline is the record delimiter. Encoding
must be UTF-8. Convention for line-oriented processing which support JSON. E.g.
for CSV replacement.
Perl moduless: L<JSON::Lines>.
9) B<YAML>. L<https://yaml.org/>. YAML is a superset of JSON. It allows for
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/LoadingModules.pm view on Meta::CPAN
[1] <https://github.com/Perl/PPCs/blob/main/ppcs/ppc0006-load-module.md>
**Installing modules automatically on demand**
Since Perl provides require hooks, one can trap the module loading process and
check for an uninstalled module and attempt to install it automatically on
demand when a code wants to load that module. Probably not suitable for use in
production. See separate list: <pm:Acme::CPANModule::ModuleAutoinstallers>.
lib/Acme/CPANModules/LoadingModules.pm view on Meta::CPAN
[1] L<https://github.com/Perl/PPCs/blob/main/ppcs/ppc0006-load-module.md>
B<Installing modules automatically on demand>
Since Perl provides require hooks, one can trap the module loading process and
check for an uninstalled module and attempt to install it automatically on
demand when a code wants to load that module. Probably not suitable for use in
production. See separate list: L<Acme::CPANModule::ModuleAutoinstallers>.
B<Loading module on demand>
view all matches for this distribution