Perl初级知识
Perl初级知识
一个最简单的Perl程序这里是我们开始的一个基本的perl程序:
#!/usr/local/bin/perl # # Program to do the obvious # print 'Hello world.';# Print a message
我们将对其中的每个部分进行讨论。
第一行:
每个perl程序的第一行都是:
#!/usr/local/bin/perl
- 虽然随着系统的不同而不同。这行告诉机器当文件执行时该怎么做(即告诉它通过Perl运行这个文件)。
注释和语句:
用#符号可以在程序中插入注释,并且从#开始到这行结尾都被忽略(除了第一行)。把注释扩展到几行的唯一办法是在每行前都用#符号。
Perl中的语句必须在结尾加一个分号,象上面程序中最后一行那样。
简单的打印:
print函数输出一些信息。在上面的例子中它打印出字符串Hello world,当然这行也以分号结束。
你可能会发现上面的程序会产生一个有点意想不到的结果,那么就让我们运行它吧。
运行程序
用文本编辑器敲入这个例子程序,然后保存之。Emacs是一个很好的编辑器,但是你可以使用任何习惯的文本编辑器。
然后用下面的命令使这个文件可执行。
chmod u+x progname
在UNIX提示符下,progname是程序的文件名。现在可以运行这个程序 - 在提示符下运行下面任何一种命令:
perl progname ./progname progname
如果有错误,将会得到错误信息,或者什么也得不到。可以用
warning参数运行程序:
perl -w progname
这会在试图执行程序前显示警告和其它帮助信息。用调试器运行程序可以使用命令:
perl -d progname
当执行程序时,Perl首先编译之,然后执行编译后的版本。于是在经过编辑程序后的短暂停顿后,这个程序会运行得很快。
标量
Perl中最基本的变量是标量。标量可以是字符串或数字,而且字符串和数字可以互换。例如,语句
$priority = 9;
设置标量$priority为9,但是也可以设置它为字符串:
$priority = 'high';
Perl也接受以字符串表示的数字,如下:
$priority = '9'; $default = '0009';
而且可以接受算术和其它操作。
一般来说,变量由数字、字母和下划线组成,但是不能以数字开始,而且$_是一个特殊变量,我们以后会提到。同时,Perl是大小写敏感的,所以$a和$A是不同的变量。
操作符和赋值语句:
Perl使用所有的C常用的操作符:
$a = 1 + 2;# Add 1 and 2 and store in $a $a = 3 - 4;# Subtract 4 from 3 and store in $a $a = 5 * 6;# Multiply 5 and 6 $a = 7 / 8;# Divide 7 by 8 to give 0.875 $a = 9 ** 10;# Nine to the power of 10 $a = 5 % 2;# Remainder of 5 divided by 2 ++$a;# Increment $a and then return it $a++;# Return $a and then increment it --$a;# Decrement $a and then return it $a--;# Return $a and then decrement it
对于字符串,Perl有自己的操作符:
$a = $b . $c;# Concatenate $b and $c $a = $b x $c;# $b repeated $c times
Perl的赋值语句包括:
$a = $b;# Assign $b to $a $a += $b;# Add $b to $a $a -= $b;# Subtract $b from $a $a .= $b;# Append $b onto $a
其它的操作符可以在perlop手册页中找到,在提示符后敲入man perlop。
互操作性:
下面的代码用串联打印apples and pears:
$a = 'apples'; $b = 'pears'; print $a.' and '.$b;
最后的打印语句中应该只包含一个字符串,但是:
print '$a and $b';
的结果为$a and $b,不是我们所期望的。
不过我们可以用双引号代替单引号:
print "$a and $b";
双引号强迫任何代码的互操作,其它可以互操作的代码包括特殊符号如换行(/n)和制表符(/t)。
>>Perl初级教程[第2天]