<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>sirhc.us maxim.us &#187; perl is not dying</title>
	<atom:link href="http://sirhc.us/tag/perl-is-not-dying/feed/" rel="self" type="application/rss+xml" />
	<link>http://sirhc.us</link>
	<description>the pathological prattle of a primal perl programmer</description>
	<lastBuildDate>Sat, 19 May 2012 21:07:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>OSCON 2010: 21st Century Systems Perl</title>
		<link>http://sirhc.us/oscon-2010-21st-century-systems-perl/</link>
		<comments>http://sirhc.us/oscon-2010-21st-century-systems-perl/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 21:22:18 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[OSCON]]></category>
		<category><![CDATA[oscon2010]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[perl is not dying]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://sirhc.us/journal/?p=516</guid>
		<description><![CDATA[Matt Trout (Shadowcat Systems Limited) The full title of this session is, 21st Century Systems Perl &#8211; the New Perl Enlightment for sysadmins Introduction While Perl isn&#8217;t dying, &#8220;PERL&#8221; most certainly is dying. This is a good thing, because it &#8230; <a href="http://sirhc.us/oscon-2010-21st-century-systems-perl/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.oscon.com/oscon2010/public/schedule/speaker/6644"><em>Matt Trout (Shadowcat Systems Limited)</em></a></p>
<p>The full title of this session is, <a href="http://www.oscon.com/oscon2010/public/schedule/detail/14095">21st Century Systems Perl &#8211; the New Perl Enlightment for sysadmins</a></p>
<p><b>Introduction</b></p>
<p>While Perl isn&#8217;t dying, &#8220;PERL&#8221; most certainly is dying.  This is a good thing, because it includes all the really crappy stuff, such as <a href="http://www.scriptarchive.com/">Matt&#8217;s Script Archive</a>.  Thank goodness for that.  To be fair, this code would have been horrible written in any language.  Remember, blame the artist, not the tool.</p>
<p>We have a very mature community, which means we also have very mature practices.  We are also converging on a standard platform, even if there are more than one ways to do something.</p>
<p><b>Part 1: Minimising Developer Fatalities</b></p>
<p>As a developer, we should do what we can to make our sysadmins&#8217; lives easier.</p>
<p>Right off the bat, we should use the <a href="http://search.cpan.org/dist/local-lib/"><tt>local::lib</tt></a> module, which allows an application to use custom library areas without polluting the system installation areas.  It can even work with <tt>/etc/skel</tt>.  Matt is a big fan of using a local library path, included with the application, so it can be maintained separately from both the operating system vendor&#8217;s modules and even other applications.</p>
<p>Improve module installation using <a href="http://search.cpan.org/dist/Module-Install/"><tt>Module::Install</tt></a>.</p>
<p>Package modules for your distribution of choice using <a href="http://search.cpan.org/perldoc?cpan2dist"><tt>cpan2dist</tt></a>.</p>
<p>Improve the CPAN experience using <a href="http://search.cpan.org/dist/App-cpanminus/"><tt>App::cpanminus</tt></a>, which is amazing easy to bootstrap:</p>
<pre>&gt; wget cpanmin.us
&gt; ./cpanm</pre>
<p>Start using all of the modules associated with best practices by installing <a href="http://search.cpan.org/dist/Task-Kensho/"><tt>Task::Kensho</tt></a>.</p>
<p>Vendors are getting better at distributing Perl and keeping up with module releases.  The Debian Perl team is the strongest, with Fedora lagging quite a bit far behind.  Fedora is finally getting better, now that members of the Perl community have a say in the packaging of Perl and the modules.</p>
<p>After many debug sessions, Matt has come to the conclusion that <tt>mod_$lang</tt> is evil.  Jamming languages into the web server is a bad, bad idea.  However, actually hooking into the different handlers can be useful.  Matt&#8217;s preference now is now <tt>FastCGI</tt>.</p>
<p><b>Part 2: Maximising Automation Banality</b></p>
<p>&#8220;In the systems world, shiny and exciting is not good.&#8221;</p>
<p>Use the <a href="http://search.cpan.org/dist/autodie/"><tt>autodie</tt></a> (in core as of 5.10) and the <a href="http://search.cpan.org/dist/IPC-System-Simple/"><tt>IPC::System::Simple</tt></a> modules to reduce the repetitiveness and the common errors of systems programming.</p>
<p>Use <a href="http://search.cpan.org/dist/IO-All/"><tt>IO::All</tt></a> to fix the syntax and semantics of I/O operations.</p>
<p>Systems script shouldn&#8217;t need to be deployed.  It should be possible to just drop the script onto a host and it will Just Work.  That&#8217;s where <a href="http://search.cpan.org/dist/PAR-Packer/"><tt>PAR::Packer</tt></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://sirhc.us/oscon-2010-21st-century-systems-perl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

