view release on metacpan or search on metacpan
you changed the files and the date of any change; and
b) cause the whole of any work that you distribute or publish, that
in whole or in part contains the Program or any part thereof, either
with or without modifications, to be licensed at no charge to all
third parties under the terms of this General Public License (except
that you may choose to grant warranty protection to some or all
third parties, at your option).
c) If the modified program normally reads commands interactively when
run, you must cause it, when started running for such interactive use
in the simplest and most usual way, to print or display an
announcement including an appropriate copyright notice and a notice
that there is no warranty (or else, saying that you provide a
warranty) and that users may redistribute the program under these
conditions, and telling the user how to view a copy of this General
Public License.
d) You may charge a fee for the physical act of transferring a
copy, and you may at your option offer warranty protection in
exchange for a fee.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to humanity, the best way to achieve this is to make it
free software which everyone can redistribute and change under these
terms.
To do so, attach the following notices to the program. It is safest to
attach them to the start of each source file to most effectively convey
the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19xx name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the
appropriate parts of the General Public License. Of course, the
commands you use may be called something other than `show w' and `show
c'; they could even be mouse-clicks or menu items--whatever suits your
Mostly unnecessary. The main premise of this module is that you
don't need to inherit to use it. But you also can use Exporter (a
core module, BTW) without inherinting it: <br><br>use Exporter
qw(import); <br>
Date::Holidays
Author: JONASBN <https://metacpan.org/author/JONASBN>
The idea is good, but a couple of things prevents me from using this
interface. <br><br>First, the use of TryCatch (which brings the
Moose ecosystem) makes the startup overhead too high for my taste
(about 0.5s on my PC). Which is rather unfortunate because
Date::Holidays itself does not use Moose. <br><br>Second, the
interface assumes that a country has a single set of holidays, which
is too restrictive in some cases. A more flexible/general interface
would allow adding more calendars based not only on country but also
religion, special community, organization, etc. And allow adding
custom calendars. <br>
Furl
Author: SYOHEX <https://metacpan.org/author/SYOHEX>
<br><br>or: <br><br>if (CONST_LOG_INFO) { info blah } <br><br>and
during compilation, Perl can optimize the line away and we get zero
run-time penalty when logging (level) is disabled.
<br><br>(Actually, it's also possible for the object syntax to get
rewritten, e.g. using source filter, but it's more cumbersome).
Benchmark::Timer
Author: DCOPPIT <https://metacpan.org/author/DCOPPIT>
Nice alternative module for benchmarking with a different interface
than Benchmark (marking portion of code to be benchmarked with start
and stop). <br><br>For most Perl programmers familiar to the core
module Benchmark, I recommend looking at Benchmark::Dumb first
though. It has an interface like Benchmark (cmpthese() et all) but
with some statistical confidence.
Getargs::Long
Author: DCOPPIT <https://metacpan.org/author/DCOPPIT>
Nice idea, but some performance concerns. If you want to use
cgetargs (the compiled, faster version), you are restricted to the
want execution to be halted on log? The halt/keypress setting
should've been separated from the level.
Rating: 4/10
File::Slurper
Author: LEONT <https://metacpan.org/author/LEONT>
Who'da thought that something as seemingly simple as "slurping
a file into a string" would need several modules and false
starts? Well, if you add encodings, Perl I/O layers, scalar/list
context, DWIM-ness, ... it can get complex and buggy. I'm glad there
are people taking care of this and making sure that a simple task
stays simple and correct.
File::Slurp
Author: CAPOEIRAB <https://metacpan.org/author/CAPOEIRAB>
Use the newer File::Slurper instead, which has a clearer API (e.g.
text vs binary, array/lines vs string) and encoding default. It's
arguably "saner" than File::Slurp and File::Slurp::Tiny.
Term::Twiddle
Author: SCOTTW <https://metacpan.org/author/SCOTTW>
Cute! I didn't know SIGALRM still works even though you're doing
blocking I/O or calling other programs. But unfortunately it doesn't
work if you sleep(), making this approach not as attractive. <br>
CHI Author: ASB <https://metacpan.org/author/ASB>
The move to Moo is very welcome, but I wish there were an
alternative of CHI which is even more lightweight (starts in under
0.01s). CHI::Tiny, anyone?
App::YTDL
Bit of a shame that we currently don't have a working YouTube
download script/module (WWW::YouTube::Download is last updated 2013
and has been broken for a long while). This module actually requires
another *Python* script to do its job. I might as well skip this and
go straight to the Python script. <br><br>UPDATE 2016-03-04: I guess
it's been so for a few years, but this still needs to be said: For
downloading YouTube videos, use youtube-dl (a far more popular
devdata/perlancar view on Meta::CPAN
(<a href="https://metacpan.org/release/Date-Holidays/">1.01</a>)
</h3>
<blockquote class="review_text">
The idea is good, but a couple of things prevents me from using this interface.
<br><br>First, the use of TryCatch (which brings the Moose ecosystem) makes the startup overhead too high for my taste (about 0.5s on my PC). Which is rather unfortunate ...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/perlancar">perlancar</a> - 2015-05-13T00:13:56
(<a href="/dist/Date-Holidays#12170">permalink</a>)
</p>
devdata/perlancar view on Meta::CPAN
(<a href="https://metacpan.org/release/Benchmark-Timer/">0.7103</a>)
</h3>
<blockquote class="review_text">
Nice alternative module for benchmarking with a different interface than Benchmark (marking portion of code to be benchmarked with start and stop).
<br><br>For most Perl programmers familiar to the core module Benchmark, I recommend looking at Benchm...
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/perlancar">perlancar</a> - 2015-03-23T01:01:38
(<a href="/dist/Benchmark-Timer#12108">permalink</a>)
</p>
<div class="helpfulq">
devdata/perlancar view on Meta::CPAN
<img src="//cdn.perl.org/perlweb/cpanratings/images/stars-5.0.png" alt="*****">
</h3>
<blockquote class="review_text">
Who'da thought that something as seemingly simple as "slurping a file into a string" would need several modules and false starts? Well, if you add encodings, Perl I/O layers, scalar/list context, DWIM-ness, ... it can get complex and buggy....
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/perlancar">perlancar</a> - 2015-03-12T04:21:51
(<a href="/dist/File-Slurper#12084">permalink</a>)
</p>
<div class="helpfulq">
devdata/perlancar view on Meta::CPAN
(<a href="https://metacpan.org/release/CHI/">0.58</a>)
</h3>
<blockquote class="review_text">
The move to Moo is very welcome, but I wish there were an alternative of CHI which is even more lightweight (starts in under 0.01s). CHI::Tiny, anyone?
</blockquote>
<div class="review_footer">
<p class="review_attribution">
<a href="/user/perlancar">perlancar</a> - 2014-09-11T04:35:58
(<a href="/dist/CHI#11913">permalink</a>)
</p>
<div class="helpfulq">
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
package Acme::CPANModules::Import::CPANRatings::User::perlancar;
use strict;
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__
=pod
=encoding UTF-8
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
Mostly unnecessary. The main premise of this module is that you don't need to inherit to use it. But you also can use Exporter (a core module, BTW) without inherinting it:
<br><br>use Exporter qw(import);
<br>
=item L<Date::Holidays>
Author: L<JONASBN|https://metacpan.org/author/JONASBN>
The idea is good, but a couple of things prevents me from using this interface.
<br><br>First, the use of TryCatch (which brings the Moose ecosystem) makes the startup overhead too high for my taste (about 0.5s on my PC). Which is rather unfortunate because Date::Holidays itself does not use Moose.
<br><br>Second, the interface assumes that a country has a single set of holidays, which is too restrictive in some cases. A more flexible/general interface would allow adding more calendars based not only on country but also religion, special commun...
<br>
=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.
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
<br><br>or:
<br><br>if (CONST_LOG_INFO) { info blah }
<br><br>and during compilation, Perl can optimize the line away and we get zero run-time penalty when logging (level) is disabled.
<br><br>(Actually, it's also possible for the object syntax to get rewritten, e.g. using source filter, but it's more cumbersome).
=item L<Benchmark::Timer>
Author: L<DCOPPIT|https://metacpan.org/author/DCOPPIT>
Nice alternative module for benchmarking with a different interface than Benchmark (marking portion of code to be benchmarked with start and stop).
<br><br>For most Perl programmers familiar to the core module Benchmark, I recommend looking at Benchmark::Dumb first though. It has an interface like Benchmark (cmpthese() et all) but with some statistical confidence.
=item L<Getargs::Long>
Author: L<DCOPPIT|https://metacpan.org/author/DCOPPIT>
Nice idea, but some performance concerns. If you want to use cgetargs (the compiled, faster version), you are restricted to the getargs() interface, which only features checking for required arguments and supplying default value. In which case you mi...
<br><br>If you want to use the more featured xgetargs, there is currently no compiled version.
<br><br>All in all, I think users should take a look at Params::Validate first.
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
<br><br>Levels are a bit confusing: why is debug split to 2 (or 3)?
<br><br>Not as flexible as it should be because the design conflates some things together. For example, most levels output to STDERR but some level (VERBOSE) outputs to STDOUT instead. The output concern and levels should've been separated. Another e...
Rating: 4/10
=item L<File::Slurper>
Author: L<LEONT|https://metacpan.org/author/LEONT>
Who'da thought that something as seemingly simple as "slurping a file into a string" would need several modules and false starts? Well, if you add encodings, Perl I/O layers, scalar/list context, DWIM-ness, ... it can get complex and buggy....
=item L<File::Slurp>
Author: L<CAPOEIRAB|https://metacpan.org/author/CAPOEIRAB>
Use the newer File::Slurper instead, which has a clearer API (e.g. text vs binary, array/lines vs string) and encoding default. It's arguably "saner" than File::Slurp and File::Slurp::Tiny.
<br>
lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm view on Meta::CPAN
Author: L<SCOTTW|https://metacpan.org/author/SCOTTW>
Cute! I didn't know SIGALRM still works even though you're doing blocking I/O or calling other programs. But unfortunately it doesn't work if you sleep(), making this approach not as attractive.
<br>
=item L<CHI>
Author: L<ASB|https://metacpan.org/author/ASB>
The move to Moo is very welcome, but I wish there were an alternative of CHI which is even more lightweight (starts in under 0.01s). CHI::Tiny, anyone?
=item L<App::YTDL>
Bit of a shame that we currently don't have a working YouTube download script/module (WWW::YouTube::Download is last updated 2013 and has been broken for a long while). This module actually requires another I<Python> script to do its job. I might as ...
<br><br>UPDATE 2016-03-04: I guess it's been so for a few years, but this still needs to be said: For downloading YouTube videos, use youtube-dl (a far more popular Python project) and just forget the rest. Keeping up with YouTube changes is many tim...
=item L<XXX>