<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Old School to New School: Refactoring&#160;Perl</title>
	<atom:link href="http://inthebox.webmin.com/old-school-to-new-school-refactoring-perl/feed" rel="self" type="application/rss+xml" />
	<link>http://inthebox.webmin.com/old-school-to-new-school-refactoring-perl</link>
	<description>Automating the data center</description>
	<lastBuildDate>Sat, 05 Feb 2011 01:00:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: SwellJoe</title>
		<link>http://inthebox.webmin.com/old-school-to-new-school-refactoring-perl/comment-page-1#comment-349</link>
		<dc:creator>SwellJoe</dc:creator>
		<pubDate>Sat, 05 Feb 2011 01:00:22 +0000</pubDate>
		<guid isPermaLink="false">http://inthebox.webmin.com/?p=27#comment-349</guid>
		<description>We have to detect a whole helluva lot more than a handful of Linux distributions. Webmin supports a couple hundred operating systems and versions. We have to detect various UNIXen dating back a decade or two, Mac OS X, Windows, all the *BSDs, etc. And, of course, our detection code pre-dates everything in CPAN (or the existence of CPAN altogether). So, we won&#039;t feel too guilty about not checking CPAN first.&lt;br&gt;&lt;br&gt;And, we can&#039;t really use any additional modules at this point in the process, unless we include them in the distribution of Webmin, as this is the install process and it needs to all fit in one tarball or package, and we like to keep dependencies very, very low. Pretty much just Perl; though optional SSL, PAM, LDAP, and a few other optional features support requires some modules from CPAN...but Webmin can be working before that so the user can use the Webmin CPAN module, or Software Packages module, to install them, if they&#039;re scared of the command line.</description>
		<content:encoded><![CDATA[<p>We have to detect a whole helluva lot more than a handful of Linux distributions. Webmin supports a couple hundred operating systems and versions. We have to detect various UNIXen dating back a decade or two, Mac OS X, Windows, all the *BSDs, etc. And, of course, our detection code pre-dates everything in CPAN (or the existence of CPAN altogether). So, we won&#39;t feel too guilty about not checking CPAN first.</p>
<p>And, we can&#39;t really use any additional modules at this point in the process, unless we include them in the distribution of Webmin, as this is the install process and it needs to all fit in one tarball or package, and we like to keep dependencies very, very low. Pretty much just Perl; though optional SSL, PAM, LDAP, and a few other optional features support requires some modules from CPAN&#8230;but Webmin can be working before that so the user can use the Webmin CPAN module, or Software Packages module, to install them, if they&#39;re scared of the command line.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: chorny</title>
		<link>http://inthebox.webmin.com/old-school-to-new-school-refactoring-perl/comment-page-1#comment-348</link>
		<dc:creator>chorny</dc:creator>
		<pubDate>Fri, 04 Feb 2011 06:41:03 +0000</pubDate>
		<guid isPermaLink="false">http://inthebox.webmin.com/?p=27#comment-348</guid>
		<description>Declaring variable in for/foreach should work starting from Perl 5.0, at least in perl 5.4 it surely works. In general, you can use Perl::MinimumVersion to test code for compatibility with old versions of perl (even such old as perl 5.4-5.6). It does not detect all cases, but still it is a big help. You can integrate it into your own tests with Test::MinimumVersion.&lt;br&gt;&lt;br&gt;There are several modules on CPAN for Linux distribution detection, including Linux::Distribution that I maintain.</description>
		<content:encoded><![CDATA[<p>Declaring variable in for/foreach should work starting from Perl 5.0, at least in perl 5.4 it surely works. In general, you can use Perl::MinimumVersion to test code for compatibility with old versions of perl (even such old as perl 5.4-5.6). It does not detect all cases, but still it is a big help. You can integrate it into your own tests with Test::MinimumVersion.</p>
<p>There are several modules on CPAN for Linux distribution detection, including Linux::Distribution that I maintain.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Cooper</title>
		<link>http://inthebox.webmin.com/old-school-to-new-school-refactoring-perl/comment-page-1#comment-195</link>
		<dc:creator>Joe Cooper</dc:creator>
		<pubDate>Fri, 01 Aug 2008 03:59:03 +0000</pubDate>
		<guid isPermaLink="false">http://inthebox.webmin.com/?p=27#comment-195</guid>
		<description>Hey Kevin,

Thanks for your interest!  I wasn&#039;t sure anyone would care about the nitty gritty details of Webmin&#039;s helper programs, but I&#039;m finding it an interesting exercise.  As for CPAN, Jamie and I chatted about it last night over dinner, and he not only liked the idea of dropping it into CPAN, he suggested a few other interesting &quot;ancient&quot; pieces of code in Webmin that would enjoy some janitorial work, and might be useful for anyone doing systems management tasks.

I&#039;m normalizing the versions, as we speak, (Webmin has a sort of odd way of versioning things, designed to provide continuity of lineage to systems that are the same, but restarted their version numbers...like Red Hat to Fedora and Red Hat Enterprise, while most folks will want the &quot;real&quot; versions rather than these &quot;relative&quot; versions) and will be wrapping up the second part of this article in the next day or so.  Once that&#039;s done, I&#039;ll start in on a third installment about releasing to CPAN, which is something I&#039;ve never done, so it&#039;ll be a nice learning experience.</description>
		<content:encoded><![CDATA[<p>Hey Kevin,</p>
<p>Thanks for your interest!  I wasn&#8217;t sure anyone would care about the nitty gritty details of Webmin&#8217;s helper programs, but I&#8217;m finding it an interesting exercise.  As for CPAN, Jamie and I chatted about it last night over dinner, and he not only liked the idea of dropping it into CPAN, he suggested a few other interesting &#8220;ancient&#8221; pieces of code in Webmin that would enjoy some janitorial work, and might be useful for anyone doing systems management tasks.</p>
<p>I&#8217;m normalizing the versions, as we speak, (Webmin has a sort of odd way of versioning things, designed to provide continuity of lineage to systems that are the same, but restarted their version numbers&#8230;like Red Hat to Fedora and Red Hat Enterprise, while most folks will want the &#8220;real&#8221; versions rather than these &#8220;relative&#8221; versions) and will be wrapping up the second part of this article in the next day or so.  Once that&#8217;s done, I&#8217;ll start in on a third installment about releasing to CPAN, which is something I&#8217;ve never done, so it&#8217;ll be a nice learning experience.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin</title>
		<link>http://inthebox.webmin.com/old-school-to-new-school-refactoring-perl/comment-page-1#comment-194</link>
		<dc:creator>Kevin</dc:creator>
		<pubDate>Fri, 01 Aug 2008 03:05:58 +0000</pubDate>
		<guid isPermaLink="false">http://inthebox.webmin.com/?p=27#comment-194</guid>
		<description>Think you&#039;d ever massage this into a module for CPAN?  It would be really beneficial to a project I&#039;m working on right now!</description>
		<content:encoded><![CDATA[<p>Think you&#8217;d ever massage this into a module for CPAN?  It would be really beneficial to a project I&#8217;m working on right now!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

