<?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>侯波林的blog &#187; perl</title>
	<atom:link href="http://houbolin.cn/blog/category/perl/feed/" rel="self" type="application/rss+xml" />
	<link>http://houbolin.cn/blog</link>
	<description>PHP Perl APACHE MYSQL LINUX</description>
	<lastBuildDate>Thu, 05 May 2011 11:09:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>perl 之reverse-sort</title>
		<link>http://houbolin.cn/blog/2009/12/30/perl-%e4%b9%8breverse-sort/</link>
		<comments>http://houbolin.cn/blog/2009/12/30/perl-%e4%b9%8breverse-sort/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 07:26:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://houbolin.cn/blog/?p=68</guid>
		<description><![CDATA[今天碰到了两个perl的排序函数 ,reverse &#038; sort
例如:

@array = 1..10; #@array=1,2,3,4,5,6,7,8,9,10
print @array;      # print out  1,2,3,4,5,6,7,8,9,10
@b = reverse(@array);
print @b; #print out 10,9,8.......1

@c = sort(@b);
print @c; # print out 1,10,2,3,4,5.....9 此排序顺序主要依照第一个字符,如1在2前面,1在10前面


]]></description>
			<content:encoded><![CDATA[<p>今天碰到了两个perl的排序函数 ,reverse &#038; sort</p>
<p>例如:<br />
<pre name="code" class="perl">
@array = 1..10; #@array=1,2,3,4,5,6,7,8,9,10
print @array;      # print out  1,2,3,4,5,6,7,8,9,10
@b = reverse(@array);
print @b; #print out 10,9,8.......1

@c = sort(@b);
print @c; # print out 1,10,2,3,4,5.....9 此排序顺序主要依照第一个字符,如1在2前面,1在10前面

</pre></p>
]]></content:encoded>
			<wfw:commentRss>http://houbolin.cn/blog/2009/12/30/perl-%e4%b9%8breverse-sort/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>perl 之子函数</title>
		<link>http://houbolin.cn/blog/2009/12/07/perl-%e4%b9%8b%e5%ad%90%e5%87%bd%e6%95%b0/</link>
		<comments>http://houbolin.cn/blog/2009/12/07/perl-%e4%b9%8b%e5%ad%90%e5%87%bd%e6%95%b0/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 14:26:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://houbolin.cn/blog/?p=37</guid>
		<description><![CDATA[一、定义
  子程序即执行一个特殊任务的一段分离的代码，它可以使减少重复代码且使程序易读。PERL中，子程序可以出现在程序的任何地方。定义方法为：
  sub subroutine{
    statements;
  }
二  调用
 调用方法如下：
1、用&#038;调用
  &subname;
  &#8230;
  sub subname{
    &#8230;
  }
2、先定义后调用 ，可以省略&#038;符号
  sub subname{
    &#8230;
  }
  &#8230;
  subname;
3、前向引用 ，先定义子程序名，后面再定义子程序体
  sub subname;
  &#8230;
  subname;
  &#8230;
  sub subname{
 [...]]]></description>
			<content:encoded><![CDATA[<p>一、定义<br />
  子程序即执行一个特殊任务的一段分离的代码，它可以使减少重复代码且使程序易读。PERL中，子程序可以出现在程序的任何地方。定义方法为：<br />
  sub subroutine{<br />
    statements;<br />
  }<br />
二  调用<br />
 调用方法如下：<br />
1、用&#038;调用<br />
  &subname;<br />
  &#8230;<br />
  sub subname{<br />
    &#8230;<br />
  }<br />
2、先定义后调用 ，可以省略&#038;符号<br />
  sub subname{<br />
    &#8230;<br />
  }<br />
  &#8230;<br />
  subname;<br />
3、前向引用 ，先定义子程序名，后面再定义子程序体<br />
  sub subname;<br />
  &#8230;<br />
  subname;<br />
  &#8230;<br />
  sub subname{<br />
    &#8230;<br />
  }<br />
4、用do调用<br />
  do my_sub(1, 2, 3);等价于&#038;my_sub(1, 2, 3);</p>
<p> 例如,<br />
1 先定义后调用<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">
&nbsp;
sub test
{
    print &quot;hello perl\n&quot;;                                                       
}
test();
</div></pre><!--END_DEVFMTCODE--><br />
2 利用&#038;调用 (后定义)<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">
&amp;test();
sub test
{
    print &quot;hello perl\n&quot;;                                                       
}
</div></pre><!--END_DEVFMTCODE--><br />
3 do方法调用<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">
do test();
sub test
{
    print &quot;hello perl\n&quot;;                                                       
}
</div></pre><!--END_DEVFMTCODE--><br />
4 c语言声明<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">
sub test;
test();
sub test
{
    print &quot;hello perl\n&quot;;                                                       
}
</div></pre><!--END_DEVFMTCODE--><br />
<img src="http://houbolin.cn/blog/wp-content/uploads/2009/12/newchange.jpg" alt="newchange" title="newchange" width="160" height="120" class="alignnone size-full wp-image-39" /></p>
]]></content:encoded>
			<wfw:commentRss>http://houbolin.cn/blog/2009/12/07/perl-%e4%b9%8b%e5%ad%90%e5%87%bd%e6%95%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>perl之数组</title>
		<link>http://houbolin.cn/blog/2009/12/06/perl%e4%b9%8b%e6%95%b0%e7%bb%84/</link>
		<comments>http://houbolin.cn/blog/2009/12/06/perl%e4%b9%8b%e6%95%b0%e7%bb%84/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 13:02:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://houbolin.cn/blog/?p=30</guid>
		<description><![CDATA[       数组是perl里面一种非常有用的东西 ,比如我们可以采用以下的方式为 perl数组赋值.
      @arr = ('hello','world','welcome come to perl word!');
       也可以使用一下的方式为数组赋值:
      @b=(1..10); # @b 元素为 1到20。
　　对于字母也一样哦 ,
      @b=(&#34;a&#34;..&#34;z&#34;);  
      @empty=();  [...]]]></description>
			<content:encoded><![CDATA[<p>       数组是perl里面一种非常有用的东西 ,比如我们可以采用以下的方式为 perl数组赋值.<br />
      <!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">@arr = ('hello','world','welcome come to perl word!');</div></pre><!--END_DEVFMTCODE--><br />
       也可以使用一下的方式为数组赋值:<br />
      <!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">@b=(1..10); # @b 元素为 1到20。</div></pre><!--END_DEVFMTCODE--><br />
　　对于字母也一样哦 ,<br />
      <!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">@b=(&quot;a&quot;..&quot;z&quot;);  </div></pre><!--END_DEVFMTCODE--><br />
      <!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">@empty=();  </div></pre><!--END_DEVFMTCODE--><br />
　　恩,是不是觉得这样很爽呢？更爽的还在后面呢,perl当然也支持对特定元素的赋值喽～～～,像这rl样<br />
       <!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">$b[0]=100</div></pre><!--END_DEVFMTCODE--><br />
       恩，你一定注意到了  @ 变成了 $  ! ,哈哈, 这是因为在Perl中 $ 表示对特定元素的操作,而@则是对 一组数据的操作<br />
      至于数组间的赋值嘛,这样搞就可以喽<br />
      <!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">@a=@b</div></pre><!--END_DEVFMTCODE--><br />
      追加元素？别着急, follow me<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">
@c = (&quot;Hello&quot;);
@c = (@c , &quot;world\n&quot;);
</div></pre><!--END_DEVFMTCODE--><br />
同理于 数组元素追加操作<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">
@c = (&quot;Hello&quot;);
@d = (&quot; hi, &quot; , &quot; 我是 柏林 &quot; ) ; 
@c = (@c , @d );
print @c; //THis will print Hello hi, 我是 柏林 
</div></pre><!--END_DEVFMTCODE--><br />
另外 与此操作相似的有个 push函数~ 比如,<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">
push(@c,&quot;hello&quot;); 
push(@c,(&quot;hello&quot;,&quot;我是柏林&quot;));
push(@c,@a); 
</div></pre><!--END_DEVFMTCODE--><br />
有尾自然有头喽, unshift函数就是负责从数组开头开头 加入元素,<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">
unshift(@c,&quot;hello&quot;); 
unshift(@c,(&quot;hello&quot;,&quot;我是柏林&quot;));
print @c;
</div></pre><!--END_DEVFMTCODE--><br />
好了 , 有了操作数组两端的函数那么一定也会有操作数组中间部分的函数，这个函数就是splice<br />
splice 有三个功能<br />
一: 向数组中间的一部分插入内容<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">
@d=(1..9);                                                                      
my @e=(&quot;a&quot;..&quot;d&quot;);
splice(@d,3,0,@e); 
print @d; //This will Print 123abcd456789
</div></pre><!--END_DEVFMTCODE--><br />
二  删除 指定元素<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">
@d=(1..9);                                                                      
my @e=(&quot;a&quot;..&quot;d&quot;);
splice(@d,3,6); 
print @d; // Print 1236789 , 从第3＋1个元素起,删除6个元素.
</div></pre><!--END_DEVFMTCODE--><br />
如果第三个元素不指定,默认将删除第二个参数之后的所有元素.<br />
其他几个不常用的函数,<br />
undef(); 的作用是把数组的内容清空。<br />
chop(); 的作用是把数组内每个元素的末尾去一个字符。<br />
chomp(); 的作用则是把数组内的每一个元素的末尾的换行符去掉。</p>
<p>我们还应该介绍一个函数就是scalar，这个函数取得数组的长度，不过在perl中,经常使用<br />
<!--DEVFMTCODE--><pre class="devcodeblock" title="perl"><div class="devcodeoverflow">
my @a= (1,2,3,4);
print @a.&quot;\n&quot;; //4
</div></pre><!--END_DEVFMTCODE--></p>
]]></content:encoded>
			<wfw:commentRss>http://houbolin.cn/blog/2009/12/06/perl%e4%b9%8b%e6%95%b0%e7%bb%84/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

