﻿<?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>知者无忧 &#187; perl</title>
	<atom:link href="http://www.notii.com/tag/perl/feed" rel="self" type="application/rss+xml" />
	<link>http://www.notii.com</link>
	<description>NOThing Is Impossible! —— 原创文章，谢绝转载！</description>
	<lastBuildDate>Sat, 22 Oct 2011 10:23:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>FormBuilder基础教程-第一步：简介</title>
		<link>http://www.notii.com/2010/01/formbuilder_tutorial_1_intro.html</link>
		<comments>http://www.notii.com/2010/01/formbuilder_tutorial_1_intro.html#comments</comments>
		<pubDate>Tue, 19 Jan 2010 16:06:13 +0000</pubDate>
		<dc:creator>ZZQ</dc:creator>
				<category><![CDATA[FormBuilder]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.notii.com/?p=645569</guid>
		<description><![CDATA[注：本文翻译自FormBuilder的官方网站的教程。为了方便中文的阅读习惯和理解，我修改了一些英文的表述方式，并增加了一些个人注解。所以本文并不是忠实的翻译原文，用编译可能更合适。版权属于FormBuilder的官方网站。 欢迎来到FormBuilder教程！本教程将会手把手教你使用FormBuilder——从基本的表单到高级的模板和多语言的消息系统。 基础 FormBuilder设计用来处理CGI表单的方方面面——表单的产生、提交和验证。FormBuilder程序经常是反馈给自 身，也就是说你调用一个脚本，基于CGI参数来处理你的整个程序。 FormBuilder使用面向对象的调用风格，但这并不会把你吓跑。其使用非常简单，只需要你了解几个函数而已。在这个文档中， 我们的FormBuilder对象总是用$form来表示，当然在你的脚本中也可以这么使用。 基本步骤： 利用CGI::FormBuilder-&#62;new()来创建一个$form对象。 利用$form-&#62;field()定义表单域。 使用$form-&#62;submitted来检查表单是否已提交，如果是，使用$form-&#62;validate来验证。 利用$form-&#62;field()来获得每个值，然后做你任何想要的事（比如更新数据库等）。 如 果表单没有提交（或者验证失败），使用$form-&#62;render函数来打印表单。 就这么多。FormBuilder将会接管HTML和JavaScript，表格的布局、验证、持续性、错误信息等等。好了，咱们看一个简单的 FormBuilder程序。 下面是一个简单的FormBuilder程序： #!/usr/bin/perl use CGI::FormBuilder; @fields = qw(first_name last_name email phone); $form = CGI::FormBuilder-&#62;new( fields =&#62; \@fields, ); if ($form-&#62;submitted &#38;&#38; $form-&#62;validate) { # you would write code here to act on the form data $fname = $form-&#62;field('first_name'); $lname = [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<p>注：本文翻译自FormBuilder的官方网站的教程。为了方便中文的阅读习惯和理解，我修改了一些英文的表述方式，并增加了一些个人注解。所以本文并不是忠实的翻译原文，用编译可能更合适。版权属于FormBuilder的官方网站。</p>
</blockquote>
<p>欢迎来到FormBuilder教程！本教程将会手把手教你使用FormBuilder——从基本的表单到高级的模板和多语言的消息系统。</p>
<p><strong>基础</strong></p>
<p>FormBuilder设计用来处理CGI表单的方方面面——表单的产生、提交和验证。FormBuilder程序经常是反馈给自 身，也就是说你调用一个脚本，基于CGI参数来处理你的整个程序。</p>
<p>FormBuilder使用面向对象的调用风格，但这并不会把你吓跑。其使用非常简单，只需要你了解几个函数而已。在这个文档中， 我们的FormBuilder对象总是用$form来表示，当然在你的脚本中也可以这么使用。</p>
<p>基本步骤：</p>
<ol>
<li><span style="font-family: Courier New;">利用</span><span style="font-family: Courier New;">CGI::FormBuilder-&gt;new()来创建一个$form对象。</span></li>
<li><span style="font-family: Courier New;">利用$form-&gt;field()定义表单域。</span></li>
<li>使用<span style="font-family: Courier New;">$form-&gt;submitted</span>来检查表单是否已提交，如果是，使用<span style="font-family: Courier New;">$form-&gt;validate</span>来验证。</li>
<li>利用<span style="font-family: Courier New;">$form-&gt;field()</span>来获得每个值，然后做你任何想要的事（比如更新数据库等）。</li>
<li>如 果表单没有提交（或者验证失败），使用<span style="font-family: Courier New;">$form-&gt;render函数来打印表单。</span></li>
</ol>
<p>就这么多。FormBuilder将会接管HTML和JavaScript，表格的布局、验证、持续性、错误信息等等。好了，咱们看一个简单的 FormBuilder程序。</p>
<p>下面是一个简单的FormBuilder程序：<br>
#!/usr/bin/perl</p>
<p>use CGI::FormBuilder;</p>
<p>@fields = qw(first_name last_name email phone);</p>
<p>$form = CGI::FormBuilder-&gt;new(<br>
fields =&gt; \@fields,<br>
);</p>
<p>if ($form-&gt;submitted &amp;&amp; $form-&gt;validate) {<br>
# you would write code here to act on the form data<br>
$fname = $form-&gt;field('first_name');<br>
$lname = $form-&gt;field('last_name');</p>
<p>print $form-&gt;confirm(header =&gt; 1);<br>
} else {<br>
print $form-&gt;render(header =&gt; 1);<br>
}</p>
<p>在上面的程序中，我们首先定义表单的域，然后创建一个$form对象将其纳入（必须使用数组的引\@fields来 确保数据一起传入）。FormBuilder使用这些数据，为每个域创建一个标签，然后使用<span style="font-family: Courier New;">$form-&gt;render 方法将所有的元素放在一个HTML表格中。事实上，</span>FormBuilder甚至可以根据脚本的文件名为表单创建标题。（比如<span style="font-family: Courier New;">personal_info.pl</span> 变成表单的标题 "Personal Info"）。当用户点击“提交”按钮，<span style="font-family: Courier New;">$form-&gt;submitted将返回true值， 在上面的例子中也会引起</span><span style="font-family: Courier New;">$form-&gt;validate的执行</span>(由 于if语句中的&amp;&amp;操作符)。如果两者都返回true值，这意味着提交的表单数据有效，然后你就可以处理这些数据了。</p>
<p><span style="font-family: Courier New;">使用field()获取表单的数据就像使用CGI.pm中的</span><span style="font-family: Courier New;">param()函数一样简单。</span><span style="font-family: Courier New;">field() 也有很多其他用处，这个我们以后会提到。好了，看看上面的<a id="aa:x" title="点这里查看程序的运行效果" href="http://www.formbuilder.org/ex/simple_form.pl" target="_blank" name="aa:x">程序的实际效果</a>吧。 查看浏览器的源代码，可以看到我们的程序产生的HTML代码，这会有助于你的理解。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.notii.com/2010/01/formbuilder_tutorial_1_intro.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dancer: 优雅的Perl web框架，推荐！</title>
		<link>http://www.notii.com/2010/01/dancer-elegant-perl-web-framework-recommended.html</link>
		<comments>http://www.notii.com/2010/01/dancer-elegant-perl-web-framework-recommended.html#comments</comments>
		<pubDate>Sat, 02 Jan 2010 04:59:30 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.notii.com/?p=645527</guid>
		<description><![CDATA[主页：&#160;&#160;http://dancer.sukria.net/ 作者： sukria，是日本某公司的CTO，知名CPANer 创意： 来自于Ruby的一个框架Sinatra 例子： #!/usr/bin/perl use Dancer; get '/hi' =&#62; sub { &#160;&#160;&#160;&#160;"Hello World!" }; dance; 然后就可以独立运行了： $ perl ./hi.pl &#62;&#62; Listening on 127.0.0.1:3000 == Entering the dance floor ... == GET /hi HTTP/1.0 200 OK 在浏览器里输入 http://your_host:3000/hi/就可以看到Helloworld字样了。默认端口是3000. 这是作者主页的整个代码： #!/usr/bin/perl&#160; use Dancer; use Template; my @pages = qw(quickstart documentation contribute about example); get [...]]]></description>
			<content:encoded><![CDATA[<p><strong>主页：</strong>&nbsp;&nbsp;<a href="http://dancer.sukria.net/" target="_blank">http://dancer.sukria.net/</a><br>
<strong>作者：</strong> sukria，是日本某公司的CTO，知名CPANer<br>
<strong>创意：</strong> 来自于Ruby的一个框架Sinatra<br>
<strong>例子：</strong></p>
<table class="t_table" border="0" width="95%" align="center">
<tbody>
<tr>
<td><span style="font-family: FixedSys;"><span style="color: #000000;"><span style="color: #ff9900;">#!/usr/bin/perl</span><br>
<span style="color: #0000ff;">use</span> Dancer<span style="color: #0000cc;">;</span><br>
get <span style="color: #ff00ff;">'/hi'</span> <span style="color: #0000cc;">=</span><span style="color: #0000cc;">&gt;</span> <span style="color: #0000ff;">sub</span> <span style="color: #0000cc;">{</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff00ff;">"Hello World!"</span><br>
<span style="color: #0000cc;">}</span><span style="color: #0000cc;">;</span><br>
dance<span style="color: #0000cc;">;</span></span></span></td>
</tr>
</tbody>
</table>
<p>然后就可以独立运行了：</p>
<table class="t_table" border="0" width="95%" align="center">
<tbody>
<tr>
<td><span style="font-family: FixedSys;">$ perl ./hi.pl<br>
&gt;&gt; Listening on 127.0.0.1:3000<br>
== Entering the dance floor ...<br>
== GET /hi HTTP/1.0 200 OK<br></span></td>
</tr>
</tbody>
</table>
<p>在浏览器里输入 <a href="http://your_host:3000/hi/">http://your_host:3000/hi/</a>就可以看到Helloworld字样了。默认端口是3000.</p>
<p>这是作者主页的整个代码：</p>
<table class="t_table" border="0" width="95%" align="center">
<tbody>
<tr>
<td><span style="font-family: FixedSys;"><span style="color: #000000;"><span style="color: #ff9900;">#!/usr/bin/perl<br></span>&nbsp;<br>
<span style="color: #0000ff;">use</span> Dancer<span style="color: #0000cc;">;</span><br>
<span style="color: #0000ff;">use</span> Template<span style="color: #0000cc;">;</span><br>
<span style="color: #0000ff;">my</span> <span style="color: #0000ff;">@</span><span style="color: #808000;">pages</span> <span style="color: #0000cc;">=</span> <span style="color: #0000ff;">qw</span><span style="color: #0000cc;">(</span>quickstart documentation contribute about example<span style="color: #0000cc;">)</span><span style="color: #0000cc;">;</span><br>
get <span style="color: #ff00ff;">'/'</span> <span style="color: #0000cc;">=</span><span style="color: #0000cc;">&gt;</span> <span style="color: #0000ff;">sub</span> <span style="color: #0000cc;">{</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;template <span style="color: #ff00ff;">'home'</span><span style="color: #0000cc;">;</span><br>
<span style="color: #0000cc;">}</span><span style="color: #0000cc;">;</span><br>
get <span style="color: #ff00ff;">'/:page'</span> <span style="color: #0000cc;">=</span><span style="color: #0000cc;">&gt;</span> <span style="color: #0000ff;">sub</span> <span style="color: #0000cc;">{</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">my</span> <span style="color: #0000cc;">(</span><span style="color: #0000ff;">$</span><span style="color: #008080;">page</span><span style="color: #0000cc;">)</span> <span style="color: #0000cc;">=</span> params<span style="color: #0000cc;">-</span><span style="color: #0000cc;">&gt;</span><span style="color: #0000cc;">{</span>page<span style="color: #0000cc;">}</span><span style="color: #0000cc;">;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;pass <span style="color: #0000ff;">and</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span> <span style="color: #0000ff;">unless</span> <span style="color: #ff0000;">grep</span> <span style="color: #0000cc;">/</span><span style="color: #0000ff;">$</span><span style="color: #008080;">page</span><span style="color: #0000cc;">/</span><span style="color: #0000cc;">,</span> <span style="color: #0000ff;">@</span><span style="color: #808000;">pages</span><span style="color: #0000cc;">;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;template <span style="color: #0000ff;">$</span><span style="color: #008080;">page</span><span style="color: #0000cc;">;</span><br>
<span style="color: #0000cc;">}</span><span style="color: #0000cc;">;</span><br>
get <span style="color: #ff00ff;">'/*'</span> <span style="color: #0000cc;">=</span><span style="color: #0000cc;">&gt;</span> <span style="color: #0000ff;">sub</span> <span style="color: #0000cc;">{</span><br>
&nbsp;&nbsp;&nbsp;status <span style="color: #ff00ff;">'not_found'</span><span style="color: #0000cc;">;</span><br>
&nbsp;&nbsp;&nbsp;template <span style="color: #ff00ff;">'not_found'</span><span style="color: #0000cc;">;</span><br>
<span style="color: #0000cc;">}</span><span style="color: #0000cc;">;</span><br>
dance<span style="color: #0000cc;">;</span></span></span></td>
</tr>
</tbody>
</table>
<p><strong>优势：</strong></p>
<ul type="1">
<li>轻量级，可以在这个基础上继续开发；</li>
<li>优雅，符合直觉，比CGI::Application 更方便：</li>
<li>支持PSGI，可用于Apache等支持PSGI的server；</li>
<li>可以单独运行，standalone模式，作为Application Server；现在的默认httpd是http::server::simple。</li>
<li>支持模板dancer::template::simple和template::toolkit</li>
</ul>
<p><strong>问题：</strong><br>
我试用了一下，用simple模板可以，用TT的没有用，页面是空白，哪位用过指点下。<br>
欢迎大家都来用。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notii.com/2010/01/dancer-elegant-perl-web-framework-recommended.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>经典Perl电子书下载</title>
		<link>http://www.notii.com/2009/08/perl_books_download.html</link>
		<comments>http://www.notii.com/2009/08/perl_books_download.html#comments</comments>
		<pubDate>Tue, 11 Aug 2009 05:26:08 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.notii.com/?p=642473</guid>
		<description><![CDATA[虽然Perl6即将发布，Perl5仍然是非常强大的工具语言，能够完成绝大部分任务，Perl6只是让干活更容易了些。Perl5在主流平台上还会持续数年，也就是说，Perl6真正进入生产领域，还为时尚早。 所以，Perl5的书籍还是很重要地，言归正传，下载吧！ 通用书籍： OReilly Intermediate Perl (Mar.2006) OReilly Perl Best Practices (Jul.2005) Perl5编程技巧与实例分析.pdf Perl5编程核心技术.pdf Object Oriented Perl.pdf Perl 5 语言命令详解.pdf Perl Cookbook2.chm Perl 参考大全(第二版.pdf Perl实例精解 （第三版）.pdf perl语言编程.CHM PleacPerl.chm 进阶书籍： Advanced Perl Programming （2nd.Edition） Perl Medic Transforming Legacy Code Higher Order.Perl.Transforming.Programs.with.Programs.Mar.2005 Mastering Algorithms with Perl Perl.6.and.Parrot.Essentials.2nd.Edition Oreilly.Practical.Mod_Perl.chm Perl.Template.Toolkit.chm Perl编程思想.pdf perl编程思想应用篇.pdf Perl技术内幕.pdf Oreilly Perl DBI.pdf(中文） effective_perl.pdf extreme_perl.pdf [...]]]></description>
			<content:encoded><![CDATA[<p>虽然Perl6即将发布，Perl5仍然是非常强大的工具语言，能够完成绝大部分任务，Perl6只是让干活更容易了些。Perl5在主流平台上还会持续数年，也就是说，Perl6真正进入生产领域，还为时尚早。</p>
<p>所以，Perl5的书籍还是很重要地，言归正传，下载吧！</p>
<p><span style="text-decoration: underline;"><strong>通用书籍：</strong></span></p>
<ol>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/OReilly.Intermediate.Perl.Mar.2006.chm">OReilly Intermediate Perl (Mar.2006)</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/OReilly.Perl.Best.Practices.Jul.2005.chm">OReilly Perl Best Practices (Jul.2005)</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Perl5%E7%BC%96%E7%A8%8B%E6%8A%80%E5%B7%A7%E4%B8%8E%E5%AE%9E%E4%BE%8B%E5%88%86%E6%9E%90.pdf">Perl5编程技巧与实例分析.pdf</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Perl5%E7%BC%96%E7%A8%8B%E6%A0%B8%E5%BF%83%E6%8A%80%E6%9C%AF.pdf">Perl5编程核心技术.pdf</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/ObjectOrientedPerl.pdf">Object Oriented Perl.pdf</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Perl%205%20%E8%AF%AD%E8%A8%80%E5%91%BD%E4%BB%A4%E8%AF%A6%E8%A7%A3.pdf">Perl 5 语言命令详解.pdf</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Perl%20Cookbook2.chm">Perl Cookbook2.chm</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Perl%20%E5%8F%82%E8%80%83%E5%A4%A7%E5%85%A8%28%E7%AC%AC%E4%BA%8C%E7%89%88.pdf">Perl 参考大全(第二版.pdf</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Perl%E5%AE%9E%E4%BE%8B%E7%B2%BE%E8%A7%A3%20%20%EF%BC%88%E7%AC%AC%E4%B8%89%E7%89%88%EF%BC%89.pdf">Perl实例精解 （第三版）.pdf</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/perl%E8%AF%AD%E8%A8%80%E7%BC%96%E7%A8%8B.CHM">perl语言编程.CHM</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/PleacPerl.chm">PleacPerl.chm</a></li>
</ol>
<p><span style="text-decoration: underline;"><strong>进阶书籍：</strong></span></p>
<ol>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Advanced.Perl.Programming.2nd.Edition.chm">Advanced Perl Programming （2nd.Edition）</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Pearson.Higher.Education.Perl.Medic.Transforming.Legacy.Code.chm">Perl Medic Transforming Legacy Code</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Higher.Order.Perl.Transforming.Programs.with.Programs.Mar.2005.eBook-DDU.pdf">Higher Order.Perl.Transforming.Programs.with.Programs.Mar.2005</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Mastering%20Algorithms%20with%20Perl.pdf">Mastering Algorithms with Perl</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Perl.6.and.Parrot.Essentials.2nd.Edition.chm">Perl.6.and.Parrot.Essentials.2nd.Edition</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Practical.Mod.Perl.rar" target="_blank">Oreilly.Practical.Mod_Perl.chm</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Perl.Template.Toolkit.chm">Perl.Template.Toolkit.chm</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Perl%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3.pdf">Perl编程思想.pdf</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/perl%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3%E5%BA%94%E7%94%A8%E7%AF%87.pdf">perl编程思想应用篇.pdf</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Perl%E6%8A%80%E6%9C%AF%E5%86%85%E5%B9%95.pdf">Perl技术内幕.pdf</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/dbi.pdf">Oreilly Perl DBI.pdf(中文）</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/effective_perl.pdf">effective_perl.pdf</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/extremeperl.pdf">extreme_perl.pdf</a></li>
</ol>
<p><span style="text-decoration: underline;"><strong>生物信息学相关：</strong></span></p>
<ol>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Beginning%20Perl%20for%20Bioinformatics.pdf">Beginning Perl for Bioinformatics</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Mastering.Perl.For.Bioinformatics.chm">mastering Perl for Bioinformatics</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Genomic%20Perl.pdf">Genomic Perl: From Bioinformatics Basics to Working Code</a></li>
<li><a href="http://dl.getdropbox.com/u/358723/perl_books/Bioinformatics%2C%20Biocomputing%20and%20Perl..%20An%20Introduction%20%28Wiley%2C2004%29%28ISBN%20047085331X%29%28485s%29_CsBi_.pdf">Bioinformatics, Biocomputing and Perl.An Introduction (Wiley,2004)(ISBN 047085331X)</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.notii.com/2009/08/perl_books_download.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>“草莓Perl”发布了新版！Perl 5.10.0.6</title>
		<link>http://www.notii.com/2009/08/strawberry-perl-released-a-new-version-perl-51006.html</link>
		<comments>http://www.notii.com/2009/08/strawberry-perl-released-a-new-version-perl-51006.html#comments</comments>
		<pubDate>Mon, 03 Aug 2009 14:33:03 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.notii.com/?p=642300</guid>
		<description><![CDATA[现在，在windows平台上使用Perl的首选当然是Strawberry Perl，今天“草莓Perl”发布了新版！ Strawberry Perl for Windows . 这个版本发生了很大的变化，不光是安装程序改变了格式。新的安装文件能做以前不容易做的事情——让安装贯穿于整个公司组织（通过活动目录）——以后的版本会做的更多！ 迫不及待的想安装？直接去strawberryperl.com吧.这个版本的更新如下： 有史以来最大的改进! 第四代基于 WiX 的工具箱 Perl: ist::WiX. 新的.msi安装文件，安装过程有很大的改进。 通过活动目录使安装贯穿整个公司或组织. 卸载程序能正确地删除环境变量. 安装后添加的模块能被卸载程序正确地删除. 整洁的开始菜单，图标也修正了. 内置模块的巨大改进： 包含了 所有Perl 5.10.1 CPAN 的自动升级特性 CPANPLUS 预配置好了 (但还不是默认的). 根据大家伙的一致要求，DBD::mysql包含在了默认的安装中. .msi格式的安装文件要求你得以管理员的身份来安装——因为有一些环境变量和注册表的修改。 好了，就说这么多，Happy perling! Download Strawberry Perl 5.10.0.6 XP/2003/Vista/2008/Win7, English, 31MB, Jul 2009 Download Strawberry Perl 5.8.9.2 XP/2003/Vista/2008/Win7, English, 30MB, Jul 2009 Other D: drive, ZIP, [...]]]></description>
			<content:encoded><![CDATA[<div class="intro">
<p>现在，在windows平台上使用Perl的首选当然是Strawberry Perl，今天“草莓Perl”发布了新版！ <a rel="nofollow" href="http://strawberryperl.com/">Strawberry Perl for Windows</a> .</p>
<p>这个版本发生了很大的变化，不光是安装程序改变了格式。新的安装文件能做以前不容易做的事情——让安装贯穿于整个公司组织（通过活动目录）——以后的版本会做的更多！</p>
<p>迫不及待的想安装？直接去<a rel="nofollow" href="http://strawberryperl.com/">strawberryperl.com</a>吧.这个版本的更新如下：</p>
<ul>
<li><strong>有史以来最大的改进!</strong>
<ul>
<li>第四代基于 WiX 的工具箱 Perl: <img src='http://www.notii.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley'> ist::WiX.</li>
<li>新的.msi安装文件，安装过程有很大的改进。</li>
<li>通过活动目录使安装贯穿整个公司或组织.</li>
<li>卸载程序能正确地删除环境变量.</li>
<li>安装后添加的模块能被卸载程序正确地删除.</li>
<li>整洁的开始菜单，图标也修正了.</li>
</ul>
</li>
<li>内置模块的巨大改进：
<ul>
<li>包含了 所有Perl 5.10.1 CPAN 的自动升级特性</li>
<li>CPANPLUS 预配置好了 (但还不是默认的).</li>
<li>根据大家伙的一致要求，DBD::mysql包含在了默认的安装中.</li>
</ul>
</li>
</ul>
<p>.msi格式的安装文件要求你得以管理员的身份来安装——因为有一些环境变量和注册表的修改。</p>
<p>好了，就说这么多，Happy perling!</p>
</div>
<ul class="downloads">
<li><a href="http://strawberry-perl.googlecode.com/files/strawberry-perl-5.10.0.6.msi"><strong>Download Strawberry Perl 5.10.0.6</strong><br>
XP/2003/Vista/2008/Win7, English, 31MB, Jul 2009</a></li>
<li><a href="http://strawberry-perl.googlecode.com/files/strawberry-perl-5.8.9.2.msi"><strong>Download Strawberry Perl 5.8.9.2</strong><br>
XP/2003/Vista/2008/Win7, English, 30MB, Jul 2009</a></li>
<li><a style="margin-right: 0.2em;" href="http://strawberryperl.com/releases.html"><strong>Other D: drive, ZIP, and Portable editions</strong></a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.notii.com/2009/08/strawberry-perl-released-a-new-version-perl-51006.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>共享收集的部分Perl电子书</title>
		<link>http://www.notii.com/2008/05/perl-books.html</link>
		<comments>http://www.notii.com/2008/05/perl-books.html#comments</comments>
		<pubDate>Fri, 30 May 2008 02:10:56 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.notii.com/2008/05/perl-books.html</guid>
		<description><![CDATA[以前收集了不少，但真正看的没几本，为了使其充分利用，我传到我的信箱里了，需要的朋友，请将需要的书名发到我的信箱里。更新：直接到这里下载即可。 列表： Beginning Perl for Bioinformatics mastering Perl for Bioinformatics Genomic Perl: From Bioinformatics Basics to Working Code Advanced Perl Programming （2nd.Edition） OReilly Intermediate Perl (Mar.2006) OReilly Perl Best Practices (Jul.2005) Pearson Higher Education Perl Medic Transforming Legacy Code Bioinformatics, Biocomputing and Perl.An Introduction (Wiley,2004)(ISBN 047085331X) Higher Order.Perl.Transforming.Programs.with.Programs.Mar.2005 Mastering Algorithms with Perl Perl.6.and.Parrot.Essentials.2nd.EditionOreilly.Practical.Mod_Perl.chm Perl.Template.Toolkit.chm Perl5编程技巧与实例分析.pdf [...]]]></description>
			<content:encoded><![CDATA[<p>以前收集了不少，但真正看的没几本，为了使其充分利用，我传到我的信箱里了，需要的朋友，请将需要的书名发到我的信箱里。<a href="http://www.notii.com/2009/08/perl_books_download.html">更新：直接到这里下载即可。</a></p>
<p>列表：</p>
<ol>
<li>Beginning Perl for Bioinformatics</li>
<li>mastering Perl for Bioinformatics</li>
<li>Genomic Perl: From Bioinformatics Basics to Working Code</li>
<li>Advanced Perl Programming （2nd.Edition）</li>
<li>OReilly Intermediate Perl (Mar.2006)</li>
<li>OReilly Perl Best Practices (Jul.2005)</li>
<li>Pearson Higher Education Perl Medic Transforming Legacy Code</li>
<li>Bioinformatics, Biocomputing and Perl.An Introduction (Wiley,2004)(ISBN 047085331X)</li>
<li>Higher Order.Perl.Transforming.Programs.with.Programs.Mar.2005</li>
<li>Mastering Algorithms with Perl</li>
<li>Perl.6.and.Parrot.Essentials.2nd.EditionOreilly.Practical.Mod_Perl.chm</li>
<li>Perl.Template.Toolkit.chm</li>
<li>Perl5编程技巧与实例分析.pdf</li>
<li>Oreilly Perl DBI.pdf(中文）</li>
<li>effective_perl.pdf</li>
<li>extreme_perl.pdf</li>
<li>Perl5编程核心技术.pdf</li>
<li>ObjectOrientedPerl.pdf</li>
<li>Perl 5 语言命令详解.pdf</li>
<li>Perl Cookbook2.chm</li>
<li>Perl 参考大全(第二版.pdf</li>
<li>Perl编程思想.pdf</li>
<li>perl编程思想应用篇.pdf</li>
<li>Perl技术内幕.pdf</li>
<li>Perl实例精解&nbsp; （第三版）.pdf</li>
<li>perl语言编程.CHM</li>
<li>PleacPerl.chm</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.notii.com/2008/05/perl-books.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>activeperl 5.10 安装 DBD::mysql</title>
		<link>http://www.notii.com/2008/04/perl10-dbd-mysql.html</link>
		<comments>http://www.notii.com/2008/04/perl10-dbd-mysql.html#comments</comments>
		<pubDate>Wed, 09 Apr 2008 09:42:12 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.notii.com/2008/04/perl10-dbd-mysql.html</guid>
		<description><![CDATA[安装笔记： 在windows下，打开ppm，Add repository http://cpan.uwinnipeg.ca/PPMPackages/10xx/package.xml 找到DBD::mysql，安装之。 有了ppm，在win下安装perl的模块就非常方便了。关键你是要找到相关的repository。]]></description>
			<content:encoded><![CDATA[<p>安装笔记：</p>
<p>在windows下，打开ppm，Add repository <a rel="nofollow" href="http://cpan.uwinnipeg.ca/PPMPackages/10xx/package.xml">http://cpan.uwinnipeg.ca/PPMPackages/10xx/package.xml</a></p>
<p>找到DBD::mysql，安装之。</p>
<p>有了ppm，在win下安装perl的模块就非常方便了。关键你是要找到相关的repository。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notii.com/2008/04/perl10-dbd-mysql.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>未被充分利用的 CPAN 模块</title>
		<link>http://www.notii.com/2007/11/perl-modules.html</link>
		<comments>http://www.notii.com/2007/11/perl-modules.html#comments</comments>
		<pubDate>Mon, 05 Nov 2007 16:51:35 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[模块]]></category>

		<guid isPermaLink="false">http://www.notii.com/2007/11/perl-modules.html</guid>
		<description><![CDATA[Perl的悠久历史也有不好的一面。对一个Perl新手来说，有许多在线教程和代码范例可用当然是一件好事；与此同时，因为那些教程是早就写好的，他们有时就会遗漏在此之后出现的很多有用的代码。 下面是一些未被Perl新手充分利用的模块（至少在我看来）。 这些模块有很多用处。最明显的就是，这些模块可以让你写/调试更少的代码，写成的代码对你同事也更清晰，并且大多数情况下，这些模块比你手工弄的代码表现更出色。 列表操作 有两个与列表相关的模块你应该熟悉——List::Util 和它的姊妹模块 List::MoreUtils。 你需要打乱数组的值？不要重复发明轮子，用List::Util 中的 shuffle 函数就好了。 use strict; use warnings; use List::Util qw( shuffle ); my @array = qw( 1 2 3 4 5 6 7 8 9 ); my @shuffled = shuffle( @array ); 想获得只含有唯一值的列表？你可以使用Perl Cookbook中提供的方法，或者更简单，你可以用List::MoreUtils 中提供的uniq() 函数，就像这样： use strict; use warnings; use List::MoreUtils qw( uniq ); my @array [...]]]></description>
			<content:encoded><![CDATA[<p>Perl的悠久历史也有不好的一面。对一个Perl新手来说，有许多在线教程和代码范例可用当然是一件好事；与此同时，因为那些教程是早就写好的，他们有时就会遗漏在此之后出现的很多有用的代码。</p>
<p>下面是一些未被Perl新手充分利用的模块（至少在我看来）。</p>
<p>这些模块有很多用处。最明显的就是，这些模块可以让你写/调试更少的代码，写成的代码对你同事也更清晰，并且大多数情况下，这些模块比你手工弄的代码表现更出色。</p>
<p><strong>列表操作</strong></p>
<p>有两个与列表相关的模块你应该熟悉——<a href="http://search.cpan.org/perldoc?List::Util">List::Util</a> 和它的姊妹模块 <a href="http://search.cpan.org/perldoc?List::MoreUtils">List::MoreUtils</a>。</p>
<p>你需要打乱数组的值？不要重复发明轮子，用List::Util 中的 shuffle 函数就好了。</p>
<pre>
<code class="perl">use strict;
use warnings;
use List::Util qw( shuffle );
my @array = qw( 1 2 3 4 5 6 7 8 9 );
my @shuffled = shuffle( @array );
</code>
</pre>
<p>想获得只含有唯一值的列表？你可以使用Perl Cookbook中提供的方法，或者更简单，你可以用List::MoreUtils 中提供的uniq() 函数，就像这样：</p>
<pre>
<code class="perl">use strict;
use warnings;
use List::MoreUtils qw( uniq );
my @array = qw( 1 1 2 2 3 3 4 4 5 5 );
my @unique_values = uniq( @array );
</code>
</pre>
<p>值得一提的是，List::MoreUtils是用C语言实现的，所以它比纯Perl的实现更快。我曾见此模块改进某大型web应用5%的性能，因为它每个页面需要将多个列表唯一化。</p>
<p>你一定要再看看这两个模块里的其它的函数，如any(), all(), first(), max()，等等。你需要从CPAN上安装List::MoreUtils 模块，而List::Util 是Perl的核心的一部分。</p>
<p><strong>合并Hash</strong></p>
<p>你可以用最简单的方式:</p>
<pre>
<code class="perl">my %merged_hash = ( %hash_one, %hash_two );
</code>
</pre>
<p>有时你需要更强点的功能，那就用 <a href="http://search.cpan.org/perldoc?Hash::Merge">Hash::Merge</a> 吧。 它给了你很多方式来处理不一致的键值，基于左右顺序或者存储方法。 或者你可以控制你的数据是否被克隆。我发现这东西在将命令行的参数与配置文件合并的时候特有用。</p>
<p><strong>关于配置选项和文件……</strong></p>
<p>跟我重复一遍： 我不自己写配置解析代码。 我也不发明自己的配置文件格式。除非有特别好的理由，我不会自己解析命令行的参数。</p>
<p>为什么在代码的最无聊的部分浪费你的时间？使用已有的模块和配置文件格式就是了！这将剩下你不少时间和调试的麻烦，也会让你的用户更容易熟悉你的配置文件语法。</p>
<p>我强烈建议你用<a href="http://search.cpan.org/perldoc?Getopt::Long">Getopt::Long</a> 来处理命令行参数。你可能需要点时间来习惯这个模块，但是一旦当你突破最初的学习曲线，你就会发现当初自己手工处理这些东西是多么傻！</p>
<p>如果你喜欢Apache风格的配置文件（谁不？呵呵），那么就用<a href="http://search.cpan.org/perldoc?Config::General">Config::General</a> ，就可将你的配置处理代码缩减成一个use语句和几行代码。你也许更喜欢.INI风格的配置文件，那么就试试<a href="http://search.cpan.org/perldoc?Config::Tiny">Config::Tiny</a>吧。（完）<br>
<em>原文：http://blog.revsys.com/2007/09/under-used-cpan.html</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.notii.com/2007/11/perl-modules.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>POD2-CN 发布了 0.02 版</title>
		<link>http://www.notii.com/2007/09/pod2cn.html</link>
		<comments>http://www.notii.com/2007/09/pod2cn.html#comments</comments>
		<pubDate>Sun, 09 Sep 2007 10:48:30 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[perlchina]]></category>
		<category><![CDATA[pod2-cn]]></category>

		<guid isPermaLink="false">http://haha.yo2.cn/2007/09/pod2cn.html</guid>
		<description><![CDATA[POD2-CN 是Perlchina.org 对Perl的核心POD文档的简体中文翻译，昨天发布了0.02版。我大致看了一下，除了个别的文档，大部分都已经翻译成中文。翻译的质量总体是不错的，只有一些文字上的出入（多一个空格什么的）。 POD2-CN由Fayland发布在CPAN上，其中包含了很多人的贡献：YE Wenbin，ChaosLawful，flw，Achilles Xu，rogerz，等等，不再一一列举。]]></description>
			<content:encoded><![CDATA[<p><a href="http://search.cpan.org/~fayland/POD2-CN-0.02/">POD2-CN</a> 是Perlchina.org 对Perl的核心POD文档的简体中文翻译，昨天发布了0.02版。我大致看了一下，除了个别的文档，大部分都已经翻译成中文。翻译的质量总体是不错的，只有一些文字上的出入（多一个空格什么的）。</p>
<p>POD2-CN由Fayland发布在<a href="http://search.cpan.org/">CPAN</a>上，其中包含了很多人的贡献：YE Wenbin，ChaosLawful，flw，Achilles Xu，rogerz，等等，不再一一列举。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notii.com/2007/09/pod2cn.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ctags 5.7 改进了对Perl的支持</title>
		<link>http://www.notii.com/2007/09/ctags57.html</link>
		<comments>http://www.notii.com/2007/09/ctags57.html#comments</comments>
		<pubDate>Sun, 09 Sep 2007 10:28:40 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[ctags]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://haha.yo2.cn/2007/09/ctags57.html</guid>
		<description><![CDATA[当今大多数系统上的标准tags应用程序??Exuberant ctags， 已发布了5.7的版本供下载。其对Perl的支持的改进如下：（当然还有其他方面的改进） 增加了对关键字 'package' 的支持 增加了对多行子过程（subroutine）、package和常量定义的支持 增加了对可选子过程声明的支持 增加了对格式的支持 忽略混杂在定义和声明中的注释 修复对label名之后带空格的检测 Fixed misidentification of fully qualified function calls as labels 如果你还没有用过tags或者ctags，现再就开始用吧。你的生活将和以前不再一样。 例如，如果你对源代码树运行ctags，然后再从shell里运行vim -t some_function，vim将会打开此文件并将光标置于some_function之处。另外，如果你用vim编辑一个文件，并将光标置于some_function上，并按下Ctrl-]，vim就跳转到这个函数。其他编辑器也都有类似的绑定。 你的编辑器并不认识Perl，它只是依赖于ctags产生的tags文件，后者是一个标准的文件。当然，ctags并不是Perl本身，所以也没有那么精确。v5.7中的改进将使你的tag文件更为精确。 如果你弄了个Perl的module，也很容易为makefile增加一个tags用的target。你可以从作者的主要的module中（(WWW::Mechanize, ack, 等等)）的Makefile.PL中偷一个来用，或者，你也可以在你的Makefile.PL中增加如下代码： sub MY::postamble { my $postamble = &#60;&#60;'MAKE_FRAG'; .PHONY: tags tags: ctags -f tags --recurse --totals --exclude=blib --exclude=.svn --exclude='*~' --languages=Perl --langmap=Perl:+.t MAKE_FRAG } (自从有了ctags 5.7, 再也不需要 --exclude=.svn 了，因为ctags现在可以自动忽略它了。) [...]]]></description>
			<content:encoded><![CDATA[<p>当今大多数系统上的标准tags应用程序??<a href="http://ctags.sourceforge.net/">Exuberant ctags</a>， 已发布了5.7的版本供<a href="http://sourceforge.net/project/showfiles.php?group_id=6556">下载</a>。其对Perl的支持的改进如下：（当然还有其他方面的改进）</p>
<ul>
<li>增加了对关键字 'package' 的支持</li>
<li>增加了对多行子过程（subroutine）、package和常量定义的支持</li>
<li>增加了对可选子过程声明的支持</li>
<li>增加了对格式的支持</li>
<li>忽略混杂在定义和声明中的注释</li>
<li>修复对label名之后带空格的检测</li>
<li>Fixed misidentification of fully qualified function calls as labels</li>
</ul>
<p>如果你还没有用过tags或者ctags，现再就开始用吧。你的生活将和以前不再一样。</p>
<p>例如，如果你对源代码树运行ctags，然后再从shell里运行<em><strong>vim -t some_function</strong></em>，vim将会打开此文件并将光标置于some_function之处。另外，如果你用vim编辑一个文件，并将光标置于some_function上，并按下<em><strong>Ctrl-]</strong></em>，vim就跳转到这个函数。其他编辑器也都有类似的绑定。</p>
<p>你的编辑器并不认识Perl，它只是依赖于ctags产生的tags文件，后者是一个标准的文件。当然，ctags并不是Perl本身，所以也没有那么精确。v5.7中的改进将使你的tag文件更为精确。</p>
<p>如果你弄了个Perl的module，也很容易为makefile增加一个tags用的target。你可以从作者的主要的module中（(WWW::Mechanize, ack, 等等)）的Makefile.PL中偷一个来用，或者，你也可以在你的Makefile.PL中增加如下代码：<br>
<br>
sub MY::postamble {<br>
my $postamble = &lt;&lt;'MAKE_FRAG'; .PHONY: tags tags: ctags -f tags --recurse --totals --exclude=blib --exclude=.svn --exclude='*~' --languages=Perl --langmap=Perl:+.t MAKE_FRAG }<br>
(自从有了ctags 5.7, 再也不需要 --exclude=.svn 了，因为ctags现在可以自动忽略它了。)<br>
原文链接：<a href="http://perlbuzz.com/2007/09/ctags-57-improves-perl-support.html">http://perlbuzz.com/2007/09/ctags-57-improves-perl-support.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.notii.com/2007/09/ctags57.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>《Beginning Perl》变成了一个wiki</title>
		<link>http://www.notii.com/2007/08/simon_beginning_perl_wiki.html</link>
		<comments>http://www.notii.com/2007/08/simon_beginning_perl_wiki.html#comments</comments>
		<pubDate>Fri, 24 Aug 2007 07:06:48 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[计算机技术]]></category>
		<category><![CDATA[beginning]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[simon]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://haha.yo2.cn/2007/08/simon_beginning_perl_wiki.html</guid>
		<description><![CDATA[据Perl Buzz，《Beginning Perl》、《Perl高级编程》的作者Simon Cozens，把他的一本旧书《Beginning Perl》放在一个wiki上，想通过这种方式进行修整。这本书的全文原本是在perl.org的。同时放在wiki上的书还包括：《Perl 5 Internals》和《Contextual leadership development training for Japanese Christians》，另外还有三本书在写作之中（包括翻译成日文）。 他同时表示，他平时在TeX和DocBook环境下写作，但是他发现mediawiki更方便单独处理每一章节，并同时看到整体结构图。 Simon Cozens 是一个开源程序员和作者，他发布了超过100个的Perl模块，包括Email::Simple, Mail::Audit, Maypole,Plucene, 和 B::Generate 等。他是《Beginning Perl》 (Wrox)和《Extending and Embedding Perl》 (Manning)的作者之一，并于2001-2004担任 Perl.com 的主编。 他喜欢日本菜，现在日本工作。]]></description>
			<content:encoded><![CDATA[<p>据<a href="http://perlbuzz.com/2007/08/beginning-perl-turned-into-a-wiki.html">Perl Buzz</a>，《Beginning Perl》、《Perl高级编程》的作者<a href="http://blog.simon-cozens.org/">Simon Cozens</a>，把他的一本旧书《Beginning Perl》放在一个<a href="http://books.simon-cozens.org/index.php/Beginning_Perl">wiki</a>上，想通过这种方式进行修整。这本书的全文原本是在<a href="http://www.perl.org/books/beginning-perl/">perl.org</a>的。同时放在wiki上的书还包括：<a href="http://books.simon-cozens.org/index.php/Perl_5_Internals">《Perl 5 Internals》</a>和<a href="http://books.simon-cozens.org/index.php/Contextual_leadership_development_training_for_Japanese_Christians">《Contextual leadership development training for Japanese Christians》</a>，另外还有三本书在写作之中（包括翻译成日文）。</p>
<p>他同时表示，他平时在TeX和DocBook环境下写作，但是他发现mediawiki更方便单独处理每一章节，并同时看到整体结构图。</p>
<p>Simon Cozens 是一个开源程序员和作者，他发布了超过100个的Perl模块，包括Email::Simple, Mail::Audit, Maypole,Plucene, 和 B::Generate 等。他是《Beginning Perl》 (Wrox)和《Extending and Embedding Perl》 (Manning)的作者之一，并于2001-2004担任 Perl.com 的主编。 他喜欢日本菜，现在日本工作。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notii.com/2007/08/simon_beginning_perl_wiki.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

