Perl 學習筆記

奧寶Perl教程

正文

Perl入门之Hello world

让我们开始一段小程序,是打印显示 “Hello World”:

#!/usr/bin/perl -w
print ("Hello, world!\n");

第一行是告诉这我们这是一个perl程序. 第一行详细指示:所在行指定perl并附一些相关参数.在此例中,使用–w这个参数开关. 这个开关非常重要,它会告诉我们perl在构造的过程中一些潜在的危险. 在你的程序开发中应当总是使用-w

第二行进入程序的执行部分. 这里我们可以看到一个print函数.这是一个内置的函数负责打印及关闭,在此例中只有一个文本字符串参数.此字符内有一个字符组合\n是一个标准的换行符.

Print语句是以分号结束 (;).在perl中所有的简单语句都是以分号结束.在语句块(或文件或eval<请原谅我这个eval我实在不知道该如何描述>)的最后一条语句,可以省略分号.

当你调用此程序时,程序内核将会触发perl解释器,解析整个程序(针对所有的双行,首先会计算(译者注:应该是清理)备注行),然后以编译后的形式执行.首先而且是唯一的操作是执行print函数,并把参数发送到输出流中去.程序完成后perl进程退出,并返回执行成功的代码,此代码会影响到父shell.

提问并记住结果
让我们增加(使程序)复杂一点.我们让程序通过你的名字呼叫你.做到这个,我们需要一个空间来容纳名字,一种方式是询问你的名字,并且通过一种方式来获得响应.
容纳值(比如名字)的方法之一是一种标量变量.对于此程序,我们将使用标量变量$name来容纳你的名字,,关于这些变量能容纳什么,并且你能够用它们来做什么,下一章我们将深入详解.对于现在,我们假设你能够用用标量来容纳一个数字或字符串(多个字符形成的一个序列).
程序需要询问你的名字.这样做,我们需要一个提示和一个接受输入的方法.前面讲的程序向我们展示了如何使用print函数做提示.获取输入的方法可以通过终端的结构来实现,获取输入的一行(我们此处使用的),我们把此输入赋值给变量$name.
下面是给出的程序代码:
print "What is your name? ";
$name = ;

此处$name得到的值会有一个换行结尾(如果你输入”Peter”,它会接收这样的内容“Peter\n”).为了去掉它(\n),我们使用chomp函数,此函数需要使用标量变量作为它唯一的参数并且去掉它末尾的换行(换行也可称之为记录分隔符),前提是字符串值的变量,并且存在结尾换行符才执行.
chomp ($name);

现在我们需要做的就是说Hello,后面跟变量$name的值,我们可以把变量嵌入到引号(译者注:应是双引号)所表示的字符串中去:
print "Hello, $name!\n";

所有的一起写出来,我们得到如下代码:
#!/usr/bin/perl -w
print "What is yourname? ";
$name = ;
chomp ($name);
print "Hello,$name!\n";

备注

一个良好的习惯是你的程序中要包含有备注. 备注前面用符号 #
开头. 只要是跟随在这个符号后面的,都会被看成是备注(如下所示).
#!/usr/bin/perl -w
print "What is your name? "; # Asks a question
$name = ; # Reads the answer from STDIN
chomp ($name); # removes the CR
print "Hello, $name!\n"; # Prints out the name