<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule">

<channel>
<title><![CDATA[Perl 6: How to Start a Perl 6 module project]]></title>
<link>http://www.perlfoundation.org/perl6/index.cgi?how_to_start_a_perl_6_module_project</link>
<description></description>
<pubDate>Wed, 23 Feb 2011 08:50:07 -0000</pubDate>
<webMaster>synedra@gmail.com</webMaster>
<generator>Socialtext Workspace v2.14.7.2</generator>

<item>
<title><![CDATA[How to Start a Perl 6 module project]]></title>
<link>http://www.perlfoundation.org/perl6/index.cgi?how_to_start_a_perl_6_module_project</link>
<description><![CDATA[<div class="wiki">
<p>
If you would like to start or work on Perl 6 module project, it's fairly easy to do so. It is common practise to store the source code on github, but of course you can chose your own version control system, or even use the pugs repository.</p>
<h2 id="preparations">Preparations</h2>
<p>
Compile Rakudo, install it, and make sure the perl6 binary is in your PATH environment variable</p>
<p>
You can get depdendent modules from <a target="_blank" title="(external link)" href="http://modules.perl6.org/">http://modules.perl6.org/</a>.</p>
<p>
It is highly recommened to install <tt>ufo</tt> from <a target="_blank" title="(external link)" href="http://github.com/masak/ufo/">http://github.com/masak/ufo/</a> and put the 'ufo' executable file into PATH too</p>
<h2 id="directory_layout">Directory Layout</h2>
<p>
Like in Perl 5 modules, the actual modules are typically stored in <tt>lib/</tt>, with <tt>.pm6</tt> or <tt>.pm</tt> extension. Tests are usually in <tt>t/somewhere.t</tt>.</p>
<p>
For development it is often convenient to include lib/ in the module loading path: <tt>export PERL6LIB=lib/</tt>.</p>
<h2 id="building_and_running_tests">Building and running tests</h2>
<p>
Since most modules consists of .pm or .pm6 files that can be pre-compiled to PIR in a pretty simple way, it is possible to auto-generate the <tt>Makefile</tt> for you by running the <tt>ufo</tt> command.</p>
<p>
 $ ufo<br />
 $ make # precompiles<br />
 $ make test # runs all t/*.t files, precompiles if necessary<br />
 $ make install # installs into ~/.perl6/lib/</p>
</div>
]]></description>
<author>Hongwen Qiu</author>
<guid isPermaLink="true">http://www.perlfoundation.org/perl6/index.cgi?how_to_start_a_perl_6_module_project</guid>
<pubDate>Wed, 23 Feb 2011 08:50:07 -0000</pubDate>
</item>

</channel>
</rss>