<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>bingos</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/bingos/" />
    <link rel="self" type="application/atom+xml" href="http://blogs.perl.org/users/bingos/atom.xml" />
    <id>tag:blogs.perl.org,2009-11-03:/users/bingos//129</id>
    <updated>2011-03-14T13:50:44Z</updated>
    <subtitle>A blog about the Perl programming language</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.38</generator>

<entry>
    <title>Mangling Exchange GUIDs</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/bingos/2011/03/mangling-exchange-guids.html" />
    <id>tag:blogs.perl.org,2011:/users/bingos//129.1555</id>

    <published>2011-03-14T13:30:28Z</published>
    <updated>2011-03-14T13:50:44Z</updated>

    <summary>I spent a good few hours today attempting to use the MailboxGUID returned from the WMI Exchange provider to search for the associated Active Directory account, using the msExchMailboxGuid attribute. Here&apos;s two functions I came up with in the end....</summary>
    <author>
        <name>bingos</name>
        <uri>https://metacpan.org/author/BINGOS</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/bingos/">
        <![CDATA[<p>I spent a good few hours today attempting to use the <a href="http://msdn.microsoft.com/en-us/library/aa144765%28v=exchg.65%29.aspx"><em>MailboxGUID</em></a> returned from the WMI Exchange provider to search for the associated Active Directory account, using the <a href="http://technet.microsoft.com/en-us/library/aa996437%28EXCHG.65%29.aspx"><em>msExchMailboxGuid</em></a> attribute.</p>

<p>Here's two functions I came up with in the end. One to convert <em>MailboxGUID</em> to something that a search on <em>msExchMailboxGuid</em> will like:</p>

<pre>
sub exch_to_ad {
  my $guid = shift;
  $guid =~ s/[\{\}]+//g;
  my $string = '';
  my $count = 0;
  foreach my $part ( split /\-/, $guid ) {
    $count++;
    if ( $count >= 4 ) {
      $string .= "\\$_" for unpack "(A2)*", $part;
    }
    else {
      $string .= "\\$_" for reverse unpack "(A2)*", $part;
    }
  }
  return $string;
}
</pre>

<p>And another to take a <em>msExchMailboxGuid</em> field, which is a byte array, and convert it to a <em>MailboxGUID</em>.</p>

<pre>
sub ad_to_exch {
  my $guid = shift;
  my @vals = map { sprintf("%.2X", ord $_) } unpack "(a1)*", $guid;
  my $string = '{';
  $string .= join '', @vals[3,2,1,0], '-', @vals[5,4], '-', 
     @vals[7,6], '-', @vals[8,9], '-', @vals[10..$#vals], '}';
  return $string;
}
</pre>

<p>Hopefully this should save other people some time.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Perl v5.13.7 released</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/bingos/2010/11/perl-v5137-released.html" />
    <id>tag:blogs.perl.org,2010:/users/bingos//129.1193</id>

    <published>2010-11-21T11:05:37Z</published>
    <updated>2010-11-22T10:58:06Z</updated>

    <summary> {Neo sees a black cat walk by them, and then a similar black cat walk by them just like the first one} Neo: Whoa. Deja vu. {Everyone freezes right in their tracks} Trinity: What did you just say? Neo:...</summary>
    <author>
        <name>bingos</name>
        <uri>https://metacpan.org/author/BINGOS</uri>
    </author>
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/bingos/">
        <![CDATA[<pre>
  
  {Neo sees a black cat walk by them, and then a similar black
      cat walk by them just like the first one}
  
  Neo:      Whoa. Deja vu.
  
  {Everyone freezes right in their tracks}
  
  Trinity:  What did you just say?
  Neo:      Nothing. Just had a little deja vu.
  Trinity:  What did you see?
  Cypher:   What happened?
  Neo:      A black cat went past us, and then another that
               looked just like it.
  Trinity:  How much like it? Was it the same cat?
  Neo:      It might have been. I'm not sure.
  Morpheus: Switch! Apoc!
  Neo:      What is it?
  Trinity:  A deja vu is usually a glitch in the Matrix. It happens  
              when they change something.
  
     -- Andy Wachowski and Lana Wachowski, 'The Matrix'

</pre>

<p>It gives me great pleasure to announce the release of Perl 5.13.7.</p>

<p>This is the eighth DEVELOPMENT release in the 5.13.x series leading to a
stable release of Perl 5.14.0. You can find a list of high-profile changes
in this release in the file <a href="http://search.cpan.org/~bingos/perl-5.13.7/pod/perldelta.pod">"perldelta.pod"</a> inside the distribution.</p>

<p>You can (or will shortly be able to) download the 5.13.7 release from:</p>
<pre>
    http://search.cpan.org/~bingos/perl-5.13.7/

</pre>

<p>The release's SHA1 signatures are:</p>
<pre>
dadc05c687c349852bd7bc8c46e45f36b351ef34 perl-5.13.7.tar.bz2
335bb465f072a86c342230ea2e0cc198b9c5c7a5 perl-5.13.7.tar.gz

</pre>
<p>This release corresponds to commit 57fc91ac6f in Perl's git repository.
It is tagged as 'v5.13.7'.</p>

<p>We welcome your feedback on this release.</p>

<p>If Perl 5.13.7 works well for you, please use the 'perlthanks' tool
included in this distribution to tell the all-volunteer development team
how much you appreciate their work.</p>

<p>If you discover issues with Perl 5.13.7, please use the 'perlbug' tool
included in this distribution to report them.</p>

<p>If you write software in Perl, it is particularly important that you test
your software against development releases. While we strive to maintain
source compatibility with prior stable versions of Perl wherever possible,
it is always possible that a well-intentioned change can have unexpected
consequences. If you spot a change in a development version which breaks
your code, it's much more likely that we will be able to fix it before the
next stable release. If you only test your code against stable releases
of Perl, it may not be possible to undo a backwards-incompatible change
which breaks your code.</p>

<p>Perl 5.13.7 represents approximately one month of development since Perl 5.13.6
and contains 73100 lines of changes across 518 files from 39 authors and committers.</p>

<p>Notable changes in this release:</p>
<p>
<ul>

<li>Array and hash container functions accept references</li>

<li>Improved support for custom OPs</li>

<li>Single term prototype</li>

<li>Unicode Version 6.0 is now supported (mostly)</li>

<li>y///r</li>
</ul>
</p>
<p>Thank you to the following for contributing to this release:</p>

<p>Abhijit Menon-Sen, Abigail, Ben Morrow, Chas. J. Owens IV, Chris 'BinGOs' Williams, Craig A. Berry, 
David Golden, David Mitchell, Father Chrysostomos, Fingle Nark, Florian Ragwitz, George Greer, 
Grant McLean, H.Merijn Brand, Ian Goodacre, Jan Dubois, Jerry D. Hedden, Jesse Vincent, Karl Williamson, 
Lubomir Rintel, Marty Pauley, Moritz Lenz, Nicholas Clark, Nicolas Kaiser, Niko Tyni, Peter John Acklam, 
Rafael Garcia-Suarez, Shlomi Fish, Steffen Mueller, Steve Hay, Tatsuhiko Miyagawa, Tim Bunce, Todd Rinaldo, 
Tom Christiansen, Tom Hukins, Tony Cook, Yves Orton, Zefram and brian d foy</p>

<p>Many of the changes included in this version originated in the CPAN
modules included in Perl's core. We're grateful to the entire CPAN
community for helping Perl to flourish.</p>

<p>Development versions of Perl are released monthly on or about the 20th
of the month by a monthly &quot;release manager&quot;. You can expect following
upcoming releases:</p>
<p><ul>
<li>December 20     -   Zefram</li>
<li>January 20      -   Jesse</li>
<li>February 20     -   Ævar Arnfjörð Bjarmason</li>
<li>March 20        -   Florian Ragwitz</li>
</ul>
</p>
<p>
Enjoy!
</p>
<p>Chris 'BinGOs' Williams</p>

</pre>
]]>
        
    </content>
</entry>

<entry>
    <title>Switching CPANPLUS test reports to Metabase</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/bingos/2010/08/switching-cpanplus-test-reports-to-metabase.html" />
    <id>tag:blogs.perl.org,2010:/users/bingos//129.933</id>

    <published>2010-08-23T09:32:05Z</published>
    <updated>2010-08-23T09:40:01Z</updated>

    <summary>With the switching off the CT1.0/SMTP mechanism on September 1st casual CPAN testers, those users who submit test reports when they install or update their modules, will need to switch to the new Metabase system. For CPANPLUS users this just...</summary>
    <author>
        <name>bingos</name>
        <uri>https://metacpan.org/author/BINGOS</uri>
    </author>
    
    <category term="cpanpluscpan" label="CPANPLUS CPAN" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/bingos/">
        <![CDATA[<p>With the <a href="http://blog.cpantesters.org/diary/87">switching off the CT1.0/SMTP mechanism on September 1st</a> <i>casual</i> CPAN testers, those users who submit test reports when they install or update their modules, will need to switch to the new Metabase system.</p>

<p>For <a href="http://search.cpan.org/dist/CPANPLUS/">CPANPLUS</a> users this just got a little bit easier.</p>

<p><a href="http://search.cpan.org/dist/Task-CPANPLUS-Metabase/">Task::CPANPLUS::Metabase</a> should make configuring <a href="http://search.cpan.org/dist/CPANPLUS/">CPANPLUS</a> a lot easier. Simply install Task::CPANPLUS::Metabase, which will install all the necessary modules, then run the <i>metabase_cpanp</i> script to setup a Metabase ID file and configure <a href="http://search.cpan.org/dist/CPANPLUS/">CPANPLUS</a> for sending test reports</p>]]>
        
    </content>
</entry>

<entry>
    <title>CPAN Testers 2.0 and the metabase-relayd</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/bingos/2010/07/cpan-testers-20-and-the-metabase-relayd.html" />
    <id>tag:blogs.perl.org,2010:/users/bingos//129.747</id>

    <published>2010-07-13T14:46:22Z</published>
    <updated>2010-07-13T15:38:30Z</updated>

    <summary>So CPAN Testers 2.0 was announced and further here. Big kudos to all concerned When I met David Golden and Ricardo Signes at the Birmingham QA Hackathon in 2009 and discussions were happening about Metabase and how submissions would be...</summary>
    <author>
        <name>bingos</name>
        <uri>https://metacpan.org/author/BINGOS</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/bingos/">
        <![CDATA[<p>So CPAN Testers 2.0 was <a href="http://blog.cpantesters.org/diary/83">announced</a> and <a href="http://blog.cpantesters.org/diary/84">further here</a>.</p>

<p>Big kudos to all concerned</p>

<p>When I met David Golden and Ricardo Signes at the Birmingham QA Hackathon in 2009 and discussions were happening about Metabase and how submissions would be made to it, I'd expressed concern about the <em>weight</em> of the dependencies that would be required to make Metabase submissions.</p>

<p>I came up with the idea of a Metabase relay server, something that would act as an intermediate between smokers and the Metabase. The smokers would use an very lightweight transport to submit reports to the relay, which would then forward the requests on to the Metabase server.</p>

<p>And that was as far as it went until the beta testing of Metabase started. I wrote <a href="http://search.cpan.org/dist/Test-Reporter-Transport-Socket/">Test::Reporter::Transport::Socket</a> which would be installed on the smoker. This takes as options the address of a relay server and the TCP port to connect to. The data is passed using Storable's nfreeze function and unfrozen at the relay.</p>

<p>The relay server side is dealt with by a number of parts, <a href="http://search.cpan.org/dist/POE-Component-Metabase-Client-Submit/">POE::Component::Metabase::Client::Submit</a>, <a href="http://search.cpan.org/dist/POE-Component-Metabase-Relay-Server/">POE::Component::Metabase::Relay::Server</a> and the easy to use <a href="http://search.cpan.org/dist/metabase-relayd">metabase-relayd</a>.</p>

<p>The relay server has a SQLite database backend which stores reports to be submitted, if transmission fails it will requeue and try again until submission succeeds (this is in contrast to Test::Reporter::Transport::Metabase which does not have a resubmission mechanism)</p>

<p>So using it. On each of the smokers install Test::Reporter::Transport::Socket.</p>

<p>For CPAN::Reporter add following line to ~/.cpanreporter/config.ini</p>

<blockquote>
transport = Socket host my.relay.server port 8080
</blockquote>

<p>For CPANPLUS it is slightly harder, you will have to edit the CPANPLUS config file and find the setting for <em>cpantest_reporter_args</em> or you could run <a href="http://github.com/bingos/cpan-smoke-tools/blob/master/metabase.pl">this script</a> to set the appropriate values for you.</p>

<p>On what will be your relay server simply install App::Metabase::Relayd, which should pull in all the required dependencies.</p>

<p>metabase-relayd uses the directory <em>~/.metabase</em> for finding its configuration file <em>relayd</em> and for storing the database file, etc.</p>

<p>Unless you are an <a href="http://metabase.cpantesters.org/claimid/">existing CPAN Tester</a> then run <em>metabase-profile</em> to generate yourself a profile id file and move the resultant file into <em>~/.metabase</em>.</p>

<p>Create a <em>relayd</em> file in <em>~/.metabase</em></p>

<pre>
address=192.168.1.87,127.0.0.1
port=8080
idfile=/home/chris/.metabase/metabase_id.json
dbfile=/home/chris/.metabase/relay.db
url=https://metabase.cpantesters.org/beta/
debug=1
multiple=1
</pre>


<p>This is my <em>relayd</em> adjust to taste</p>

<p>Then simply start <em>metabase-relayd</em></p>]]>
        
    </content>
</entry>

<entry>
    <title>And Dist::Zooky too!</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/bingos/2010/06/and-distzooky-too.html" />
    <id>tag:blogs.perl.org,2010:/users/bingos//129.666</id>

    <published>2010-06-24T13:18:36Z</published>
    <updated>2010-06-24T15:27:01Z</updated>

    <summary>Dist::Zilla is fantastic, but I seem to have quite a few distributions I wanted to convert and doing the boilerplate for dist.ini from an existing distribution can be a little tedious. Wouldn&apos;t it be great if there was a tool...</summary>
    <author>
        <name>bingos</name>
        <uri>https://metacpan.org/author/BINGOS</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/bingos/">
        <![CDATA[<p><a href="http://search.cpan.org/dist/Dist-Zilla/">Dist::Zilla</a> is fantastic, but I seem to have <a href="http://search.cpan.org/~bingos/">quite a few distributions</a> I wanted to convert and doing the boilerplate for <em>dist.ini</em> from an existing distribution can be a little tedious.</p>

<p>Wouldn't it be great if there was a tool to do this for me?</p>

<p>And so <a href="http://search.cpan.org/dist/Dist-Zooky/">Dist::Zooky</a> was born.</p>

<p>( Embarressingly I had to <a href="http://godzilla.wikia.com/wiki/Godzooky">explain</a> the reference to RJBS, who found <a href="http://www.youtube.com/watch?v=oEzE1T6jpEw">this</a> ).</p>

<p><a href="http://search.cpan.org/dist/Dist-Zooky/">Dist::Zooky</a> generates a <em>dist.ini</em> for a distribution by examining the metadata produced by running <em>Makefile.PL</em> or <em>Build.PL</em> and then converting it to something that <br />
<a href="http://search.cpan.org/dist/Dist-Zilla/">Dist::Zilla</a> will like.</p>

<p>For <em>Build.PL</em> and <a href="http://search.cpan.org/dist/Module-Install/">Module::Install</a> based distributions it does this from the <em>MYMETA.yml</em> file that is produced by running the <em>.PL</em> file. For <a href="http://search.cpan.org/dist/ExtUtils-MakeMaker">ExtUtils::MakeMaker</a> based distributions it gathers the meta by parsing the <em>Makefile</em> that is generated. Ick.</p>

<p>Here's an example</p>

<blockquote>
$ cd Foo-Bar

<p>$ ls -l </p>

<p>total 32</p>

<p>-r--r--r--  1 chris  users   20 Apr  1  2005 CHANGES</p>

<p>-rw-r--r--  1 chris  users  152 Apr  1  2005 MANIFEST</p>

<p>-rw-r--r--  1 chris  users  389 Jan 13  2008 META.yml</p>

<p>-r-xr-xr-x  1 chris  users  297 Jun 24 14:41 Makefile.PL</p>

<p>-r--r--r--  1 chris  users   19 Apr  1  2005 README</p>

<p>drwxr-xr-x  2 chris  users  512 Apr  1  2005 bin</p>

<p>drwxr-xr-x  3 chris  users  512 Apr  1  2005 lib</p>

<p>-r--r--r--  1 chris  users   49 Apr  1  2005 test.pl</p>

</blockquote>

<p>And <em>Makefile.PL</em> looks like this:</p>

<blockquote>
use ExtUtils::MakeMaker;

<p>WriteMakefile(<br />
    NAME            => 'Foo::Bar',<br />
    AUTHOR          => 'Gobby Davro',<br />
    LICENSE         => 'perl',<br />
    VERSION_FROM    => 'lib/Foo/Bar.pm',<br />
    EXE_FILES       => ['bin/foobar.pl'],<br />
    PREREQ_PM       => { 'Some::Dependency' => '1.02' },<br />
);<br />
</blockquote></p>

<p>So we run <strong>dzooky</strong> the <a href="http://search.cpan.org/dist/Dist-Zooky/">Dist::Zooky</a> command-line tool:</p>

<blockquote>
$ dzooky
Wrote 'dist.ini'

<p>There are a number of files that should be removed now</p>

<p>Do you want me to remove [MANIFEST Makefile.PL] ? (yes/no) [no] yes<br />
Removing files<br />
Done.<br />
$<br />
</blockquote></p>

<p>And now we have a <em>dist.ini</em> file:</p>

<blockquote>
name = Foo-Bar
version = 0.01
author = Gobby Davro
license = Perl_5
copyright_holder = Gobby Davro

<p>[GatherDir]<br />
[PruneCruft]<br />
[ManifestSkip]<br />
[MetaYAML]<br />
[MetaJSON]<br />
[License]</p>

<p>;[Readme]</p>

<p>[ExecDir]</p>

<p><br />
[ExtraTests]<br />
[ShareDir]</p>

<p>[MakeMaker]</p>

<p>[Manifest]<br />
[TestRelease]<br />
[ConfirmRelease]<br />
[UploadToCPAN]</p>

<p><br />
;[Prereq / ConfigureRequires]<br />
;[Prereq / BuildRequires]<br />
[Prereq]<br />
Some::Dependency = 1.02<br />
</blockquote></p>

<p>Neat, huh.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Late to the party, but I brought bottles</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/bingos/2010/06/late-to-the-party-but-i-brought-bottles.html" />
    <id>tag:blogs.perl.org,2010:/users/bingos//129.633</id>

    <published>2010-06-11T14:53:28Z</published>
    <updated>2010-06-11T15:06:57Z</updated>

    <summary>I&apos;d been procrastinating at looking at Dist::Zilla, but I thought I&apos;d have a go with it this week. And as usual I found some yaks to shave on my travels. First off I had to port over Module::Install::GithubMeta to Dist::Zilla::Plugin::GithubMeta....</summary>
    <author>
        <name>bingos</name>
        <uri>https://metacpan.org/author/BINGOS</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/bingos/">
        <![CDATA[<p>I'd been procrastinating at looking at <a href="http://search.cpan.org/dist/Dist-Zilla/">Dist::Zilla</a>, but I thought I'd have a go with it this week.</p>

<p>And as usual I found some yaks to shave on my travels.</p>

<p>First off I had to port over <a href="http://search.cpan.org/dist/Module-Install-GithubMeta/">Module::Install::GithubMeta</a> to <a href="http://search.cpan.org/dist/Dist-Zilla-Plugin-GithubMeta/">Dist::Zilla::Plugin::GithubMeta</a>.</p>

<p>Flush with the success of this I decided to try converting some other of my <a href="http://search.cpan.org/dist/Module-Install/">Module::Install</a> extensions, starting with <a href="http://search.cpan.org/dist/Module-Install-AssertOS/">Module::Install::AssertOS</a>. </p>

<p>After much gnashing of teeth and hair-pulling I've eventually released <a href="http://search.cpan.org/dist/Dist-Zilla-Plugin-AssertOS/">Dist::Zilla::Plugin::AssertOS</a> to CPAN.</p>

<p>Closely followed by <a href="http://search.cpan.org/dist/Dist-Zilla-Plugin-NoAutomatedTesting/">Dist::Zilla::Plugin::NoAutomatedTesting</a>.</p>

<p>Both these demonstrate a slightly dubious mechanism for manipulating the dzil generated Makefile.PL. You might want <a href="http://search.cpan.org/dist/Dist-Zilla-Plugin-MakeMaker-Awesome/">Dist::Zilla::Plugin::MakeMaker::Awesome</a> instead.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Smokebrew - It is like perlbrew but different</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/bingos/2010/06/smokebrew---it-is-like-perlbrew-but-different.html" />
    <id>tag:blogs.perl.org,2010:/users/bingos//129.621</id>

    <published>2010-06-08T08:40:47Z</published>
    <updated>2010-06-08T09:21:47Z</updated>

    <summary>So, I finally got around to doing what I was threatening to do at Copenhagen and got a tool created to automate the building and configuration of perls for CPAN Testing. Smokebrew is now available on CPAN and after some...</summary>
    <author>
        <name>bingos</name>
        <uri>https://metacpan.org/author/BINGOS</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/bingos/">
        <![CDATA[<p>So, I finally got around to doing what I was threatening to do at <a href="http://conferences.yapceurope.org/ye2008/">Copenhagen</a> and got a tool created to automate the building and configuration of perls for CPAN Testing.</p>

<p><a href="http://search.cpan.org/dist/smokebrew/">Smokebrew</a> is now available on <a href="http://www.cpan.org/">CPAN</a> and after some smoking of my own dog-food appears to work really really well.</p>

<p>The name was inspired by <a href="http://search.cpan.org/~gugod/">GUGOD's</a> <a href="http://search.cpan.org/dist/App-perlbrew/">perlbrew</a>, but <a href="http://search.cpan.org/dist/smokebrew/">Smokebrew</a> itself does things differently to <a href="http://search.cpan.org/dist/App-perlbrew/">perlbrew</a>.</p>

<p>It doesn't do the environment tweaking, for instance, to switch between the installed perls.</p>

<p>The goal has been to build, install and configure various versions of perl for CPAN Testing.</p>

<p>The configuration is dealt with by App::SmokeBrew::Plugin's. These are objects that are called by <a href="http://search.cpan.org/dist/smokebrew/">Smokebrew</a> after it has successfully built and installed a particular version of perl. <a href="http://search.cpan.org/dist/smokebrew/">Smokebrew</a> comes with two plugins, Null and CPANPLUS::YACSmoke. The former does no configuration and the latter configures for CPAN Testing with <a href="http://search.cpan.org/dist/CPANPLUS-YACSmoke/">CPANPLUS::YACSmoke</a>.</p>

<blockquote>
smokebrew --email tester@cpan.org --builddir /home/tester/build 
                   --prefix /home/tester/perls 
                   --perlargs "-Dusethreads" --perlargs "-Duse64bitint"  
                   --plugin Null --recent --verbose
</blockquote>

<p>The above would build "recent" perls which are stable perls from 5.8.9 into directories in <em>/home/tester/perls</em> that will have threads and 64bitinit and it will use the <strong>Null</strong> plugin to configure those perls, which effective does no configuration.</p>

<blockquote>
smokebrew --email tester@cpan.org --builddir /home/tester/build 
                   --prefix /home/tester/perls 
                   --perlargs "-Dusethreads" --perlargs "-Duse64bitint"  
                   --plugin CPANPLUS::YACSmoke --recent --verbose
</blockquote>

<p>This would do the same as above, but now each perl will configured using the <a href="http://search.cpan.org/dist/CPANPLUS-YACSmoke/">CPANPLUS::YACSmoke</a> plugin and they will be ready to start CPAN Testing, say using <a href="http://search.cpan.org/dist/minismokebox/">minismokebox</a>.</p>

<blockquote>
PERL5_YACSMOKE_BASE=/home/tester/perls/conf/perl-5.8.9/
minismokebox --nolog --debug --indices --perl /home/tester/perls/perl-5.8.9/bin/perl
</blockquote>]]>
        
    </content>
</entry>

</feed>
