view release on metacpan or search on metacpan
devdata/https_mojolicious.io_blog_2017_12_02_day-2-the-stash view on Meta::CPAN
<li><code>path</code></li>
<li><code>status</code></li>
<li><code>template</code></li>
<li><code>text</code></li>
<li><code>variant</code></li>
</ul>
<p>Additionally all keys like <code>mojo.*</code> are reserved for internal use.
Most of those values are either useful in routing, templating, or rendering.</p>
<p>You've seen <code>text</code>, which render a string by utf8 encoding it.
To render data in a binary format (or just text without being utf8 encoded) use the <code>data</code> key.
Both of those, as well as the <code>template</code> will be rendered with the content type <code>text/html</code>.
To use something different, you can specify it with the <code>format</code> key.</p>
<pre><code>use Mojolicious::Lite;
get '/' => {text => 'hello ð world!', format => 'txt'};
app->start;
</code></pre>
<p>Where the understood formats are listed <a href="http://mojolicious.org/perldoc/Mojolicious/Types#DESCRIPTION">here</a> (and more <a href="http://mojolicious.org/perldoc/Mojolicious/Types#DESCRIPTION">can be added</a>).</p>
devdata/https_mojolicious.io_blog_2017_12_11_day-11-useragent-content-generators view on Meta::CPAN
These responses also contain arguments, that is to say, the response data.</p>
<p>Personally I find it is much easier to learn something new by seeing how it works.
I pulled <a href="https://metacpan.org/pod/XMLRPC::Fast">XMLRPC::Fast</a> from CPAN and started inspecting the code.
It started to make sense to me, but I noticed that it used <a href="https://metacpan.org/pod/XML::Parser">XML::Parser</a> for its XML.
Since Mojolicious has tools for that, I decided to continue learning by porting the code to <a href="http://mojolicious.org/perldoc/Mojo/Template">Mojo::Template</a> and <a href="http://mojolicious.org/perldoc/Mojo/DOM">Mojo::DOM</a>.</p>
<p>By the time I finished I had completely rewritten the module and decided that perhaps others would benefit from it in environments already using the Mojo stack.
So with much thanks to XMLRPC::Fast and its author Sébastien Aperghis-Tramoni I released my own as <a href="https://metacpan.org/pod/Mojo::XMLRPC">Mojo::XMLRPC</a>.
My module (as did the original) only has functions that build the XML payloads.
Therefore, to make a simple request, pass the result of encoding as XML-RPC as the body of a request, like so</p>
<pre><code class="hljs"><span class="hljs-keyword">use</span> <span class="hljs-function">Mojo::Base</span> -strict;
<span class="hljs-keyword">use</span> <span class="hljs-function">Mojo::UserAgent</span>;
<span class="hljs-keyword">use</span> <span class="hljs-function">Mojo::XMLRPC</span> qw[encode_xmlrpc decode_xmlrpc];
<span class="hljs-keyword">my</span> <span class="hljs-type">$ua</span> = <span class="hljs-function">Mojo::UserAgent</span>->new;
<span class="hljs-keyword">my</span> <span class="hljs-type">$tx</span> = <span class="hljs-type">$ua</span>-><span class="hljs-type">post</span>(
'<span class="hljs-string">/rpc</span>',
{'<span class="hljs-string">Content-Type</span>' => '<span class="hljs-string">text/xml</span>'},
encode_xmlrpc(call => '<span class="hljs-string">target_method</span>', '<span class="hljs-string">arg1</span>', '<span class="hljs-string">arg2</span>')
devdata/https_mojolicious.io_blog_2017_12_11_day-11-useragent-content-generators view on Meta::CPAN
<span class="hljs-keyword">my</span> <span class="hljs-type">$res</span> = decode_xmlrpc(<span class="hljs-type">$tx</span>-><span class="hljs-type">res</span>-><span class="hljs-type">body</span>);
</code></pre>
<p>which produces a request like</p>
<pre><code class="hljs">POST /rpc HTTP/1.1
Content-Length: 245
Content-Type: text/xml
<span class="hljs-keyword"><?xml</span> version="1.0" encoding="UTF-8"<span class="hljs-keyword">?></span>
<span class="hljs-keyword"><methodCall></span>
<span class="hljs-keyword"><methodName></span>target_method<span class="hljs-keyword"></methodName></span>
<span class="hljs-keyword"><params></span>
<span class="hljs-keyword"><param><value><string></span>arg1<span class="hljs-keyword"></string></value></param></span>
<span class="hljs-keyword"><param><value><string></span>arg2<span class="hljs-keyword"></string></value></param></span>
<span class="hljs-keyword"></params></span>
<span class="hljs-keyword"></methodCall></span>
</code></pre>
devdata/https_mojolicious.io_blog_2017_12_12_day-12-more-than-a-base-class view on Meta::CPAN
Let's see how it does it.</p>
</section>
<section id="section-2">
<h2>Importing Pragma and Functionality</h2>
<p>Most of the authors in the modern Perl commmunity recommend that all Perl code use the <a href="https://metacpan.org/pod/strict">strict</a> and <a href="https://metacpan.org/pod/warnings">warnings</a> pragmas.
Like many of the major Perl object frameworks, <a href="https://metacpan.org/pod/Moose">Moose</a> and <a href="https://metacpan.org/pod/Moo">Moo</a> included, Mojo::Base feels these are important enough that it imports them for you.
Unlike those others, it goes further.</p>
<p>Since the modern web is trending towards UTF-8 encoding, the <a href="https://metacpan.org/pod/utf8">utf8</a> pragma is loaded; this enables you to use UTF-8 encoded characters right in your script.
Mojolicious does much of your web-facing encoding for you so this <strong>almost</strong> means you don't have to think about character encoding at all!</p>
<p>And because Mojolicious itself requires Perl 5.10, it also enables all of the <a href="https://metacpan.org/pod/feature">features</a> that came with that version.
This includes <a href="https://www.effectiveperlprogramming.com/2009/12/perl-5-10-new-features/">handy functionality</a> like the <code>state</code> and <code>say</code> keywords as well as the defined-or operator <code>//</code>.
Finally it imports IO::Handle so that all of your handles behave as objects (if you don't know what that means or why, don't worry about it).</p>
<p>If this is the only thing you want from Mojo::Base, perhaps in a script or a test file, all you do is pass the <code>-strict</code> flag</p>
<pre><code>use Mojo::Base -strict;
</code></pre>
devdata/https_mojolicious.io_blog_2017_12_16_day-16-the-secret-life-of-sessions view on Meta::CPAN
</div>
<div class="post-content">
<section id="section-1">
<p>As you all know, HTTP is a stateless protocol.
In Mojolicious applications the session is used to maintain state between requests.
These sessions are managed by the application's <a href="http://mojolicious.org/perldoc/Mojolicious/#sessions">session manager</a>.</p>
<p>During each request, the <a href="http://mojolicious.org/perldoc/Mojolicious/Controller#session">session</a> is just another hash reference attached to the controller, in some ways like the <a href="/blog/2017/12/02/day-2-the-stash">stash</a>, exc...
Mojolicious does this by encoding the structure, first as JSON then Base64.
It then signs the resulting string using HMAC-SHA1 and the application's <a href="http://mojolicious.org/perldoc/Mojolicious#secrets">secret</a> to prevent tampering and stores it as a cookie on the response to the client.</p>
<p>On subsequent requests, the client sends the cookie along with the request (as cookies do).
Mojolicious then checks if the document and signature validate against the secret, if so the cookie is decoded and made available again via the session method.</p>
<p>Two important things to note.
First, though the data is safe from tampering, it isn't encrypted; a savvy user can decode the cookie and see the stored data, so don't put anything in it that shouldn't be seen.
Second, this is only useful if the secret is strong and safe.
If not, the client could forge a cookie that appeared to come from your application, possibly with catastrophic results!
So while Mojolicious makes it easy, a little care can go a long way toward keeping your session data safe and trusted.</p>
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/page/advent/2017/] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"App::cpanminus"},{module=>"Mojo:...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017 - Modules mentioned in Mojolicious Advent Calendar 2017
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_01.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/01/day-1-getting-started] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"App::cpanmin...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 01)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_01 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 01)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_01 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_02.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/02/day-2-the-stash] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"Mojo::Message::Req...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 02)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_02 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 02)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_02 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_03.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/03/day-3-using-named-routes] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"Mojo::URL...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 03)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_03 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 03)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_03 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_04.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/04/day-4-dont-fear-the-full-app] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"Mojol...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 04)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_04 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 04)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_04 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_05.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/05/day-5-your-apps-built-in-commands] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 05)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_05 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 05)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_05 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_06.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/06/day-6-adding-your-own-commands] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"Gal...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 06)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_06 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 06)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_06 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_09.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/09/day-9-the-best-way-to-test] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"FindBin...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 09)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_09 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 09)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_09 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_10.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/10/day-10-give-the-customer-what-they-want] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{mod...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 10)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_10 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 10)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_10 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_11.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/11/day-11-useragent-content-generators] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 11)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_11 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 11)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_11 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_12.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/12/day-12-more-than-a-base-class] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"Mojo...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 12)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_12 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 12)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_12 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_13.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/13/day-13-more-about-roles] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"Class::Met...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 13)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_13 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 13)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_13 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_14.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/14/day-14-you-promised-to-call] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"GraphQ...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 14)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_14 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 14)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_14 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_15.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/15/day-15-start-a-new-yancy-app] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"Mojo:...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 15)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_15 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 15)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_15 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_16.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/16/day-16-the-secret-life-of-sessions] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 16)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_16 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 16)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_16 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_17.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/17/day-17-the-wishlist-app] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"DBM::Deep"...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 17)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_17 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 17)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_17 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_18.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/18/day-18-the-wishlist-model] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"DBI"},{m...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 18)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_18 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 18)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_18 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_19.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/19/day-19-make-your-app-installable] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"A...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 19)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_19 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 19)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_19 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_20.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/20/day-20-practical-testing] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"LinkEmbed...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 20)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_20 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 20)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_20 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_21.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/21/day-21-virtually-a-lumberjack] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"Mojo...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 21)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_21 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 21)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_21 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_22.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/22/day-22-how-to-build-a-public-rest-api] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{modul...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 22)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_22 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 22)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_22 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_23.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/23/day-23-one-liners-for-fun-and-profit] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 23)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_23 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 23)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_23 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModules/Import/MojoliciousAdvent/2017_12_24.pm view on Meta::CPAN
our $LIST = {description=>"This list is generated by extracting module names mentioned in [https://mojolicious.io/blog/2017/12/24/day-24-release-and-wrap-up] (retrieved on 2018-12-30). Visit the URL for the full contents.",entries=>[{module=>"Mojolic...
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017 (day 24)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModules::Import::MojoliciousAdvent::2017_12_24 - Modules mentioned in Mojolicious Advent Calendar 2017 (day 24)
=head1 VERSION
This document describes version 0.001 of Acme::CPANModules::Import::MojoliciousAdvent::2017_12_24 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION
lib/Acme/CPANModulesBundle/Import/MojoliciousAdvent/2017.pm view on Meta::CPAN
our $DATE = '2018-12-30'; # DATE
our $VERSION = '0.001'; # VERSION
1;
# ABSTRACT: Modules mentioned in Mojolicious Advent Calendar 2017
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANModulesBundle::Import::MojoliciousAdvent::2017 - Modules mentioned in Mojolicious Advent Calendar 2017
=head1 VERSION
This document describes version 0.001 of Acme::CPANModulesBundle::Import::MojoliciousAdvent::2017 (from Perl distribution Acme-CPANModulesBundle-Import-MojoliciousAdvent-2017), released on 2018-12-30.
=head1 DESCRIPTION