﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-天空是蓝色的-随笔分类-perl基础</title><link>http://www.blogjava.net/bluesky/category/5852.html</link><description>做好软件为中国
#gcc -c helloworld.c -o helloworld.o //编译目标文件
#gcc helloworld.o -o helloworld //编译成可执行exe
#helloworld //运行exe</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 12:35:50 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 12:35:50 GMT</pubDate><ttl>60</ttl><item><title>perl基础</title><link>http://www.blogjava.net/bluesky/archive/2005/12/10/23265.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Sat, 10 Dec 2005 06:21:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/12/10/23265.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/23265.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/12/10/23265.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/23265.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/23265.html</trackback:ping><description><![CDATA[windwos下安装perl<BR>www.perl.org<BR><A href="http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl">http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl</A><BR><BR>下载 ActivePerl Msi 安装包,安装时会自动设置path<BR><BR><FONT color=#ff1493 size=5>第一个perl脚本</FONT><BR><BR>helloworld.pl (D:\xperl\helloworld.pl)<BR><BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">print</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">"</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">Helloworld\n</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;</SPAN></DIV>
<P><BR>进入命令提示符 <BR><BR>D:\xperl&gt;perl helloworld.pl<BR>Helloworld</P>
<P>D:\xperl&gt;<BR><FONT color=#ff1493 size=5>perl变量<BR></FONT>helloworld.pl (D:\xperl\helloworld.pl)<BR></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #800080">$a</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">"</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">Helloworld\n</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">print</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #800080">$a</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #800080">$a</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #800000">4</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">print</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #800080">$a</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">print</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">"</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">Helloworld\n</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;</SPAN></DIV>
<P><BR><BR><BR>D:\xperl&gt;perl helloworld.pl<BR>Helloworld<BR>4Helloworld</P>
<P>D:\xperl&gt;<BR>晕啊，$a 可以随便赋值啊。跟PHP一样那么随便，用习惯了java的严谨语法，还真不习惯<BR><FONT color=#ff1493 size=5>循环</FONT></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #800080">$loop_index</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #800000">0</SPAN><SPAN style="COLOR: #000000">;</SPAN><SPAN style="COLOR: #800080">$loop_index</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #800000">5</SPAN><SPAN style="COLOR: #000000">;</SPAN><SPAN style="COLOR: #800080">$loop_index</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">){<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">print</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">"</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">Helloworld\n</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>}</SPAN></DIV><FONT color=#ff1493 size=5>输入输出STDIN STDOUT STDERR<BR><BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #800080">$temp</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">STDIN</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">){<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">print</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #800080">$temp</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>}</SPAN></DIV></FONT><BR><FONT color=#ff1493 size=5>默认变量$_<BR><FONT color=#000000 size=2>使用结构&lt;STDIN&gt;而没有将它的返回值赋予某个变量，perl自动将返回值赋予特殊的变量$_。很多perl函数使用这个特殊的变量，它称为默认变量，作为默认值，如果没有指明另一个变量，这意味着可以在根本不指定变量的情况下使用print函数将变量$_中的内容打印出来。</FONT><BR><BR><FONT style="BACKGROUND-COLOR: #d3d3d3" color=#008000 size=2>事实上可以将STDIN整个省略掉，如果仅单独使用了尖括号&lt;和&gt;，而没有指定任何文件句柄，就默认使用STDIN（perl中充满了类似这样的默认值）<BR><BR><BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000">&lt;&gt;</SPAN><SPAN style="COLOR: #000000">){<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">print</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>}</SPAN></DIV></FONT></FONT>前面这段代码实际上是以下这段代码的简洁版本<BR><BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">while</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #800080">$_</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">STDIN</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">){<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">print</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #800080">$_</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>}</SPAN></DIV><img src ="http://www.blogjava.net/bluesky/aggbug/23265.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-12-10 14:21 <a href="http://www.blogjava.net/bluesky/archive/2005/12/10/23265.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>