|
这个程序有些什么?
同任意自由格式语言一样,Perl 通常允许使用任意数量的空白(如空格,制表符,换行符)来使程序易于阅读。但大多数Perl
程序使用一种标准格式,非常像刚才展示的程序。我们强烈的鼓励你使用缩进格式的程序,使你的程序更易阅读;一个好
的文本编辑器能代你完成许多事情。好的注释能让程序易于理解。在Perl 中,注释由#开始,直到本行结束(Perl 中没有“块
注释”(block comments))◆。在本书的程序中我们没有使用大量的注释,因为正文中已经解释了它们,而你自己的程序,
应当使用注释。
◆但是有许多伪造的方法。查看FAQ(在许多情况下,可以用perldoc perlfaq 来查看)
因此,另一种(看起来,有些奇怪)写“Hello,world”的方法是:
#! /usr/bin/perl
print #这是注释
“Hello, world!\n”
; #不要这样写代码
第一行是特殊的注释。在Unix 系统中◆,如果文本的第一行前两个字符是“#!”,接着的就是执行下面文件的程序。在本例
中,这个程序是/usr/bin/perl。
#!行和程序的可移植性相关,需要找到每台机器的存放地点。幸运的是,通常都被放在/usr/bin/perl 或/usr/local/bin/perl 中。
如果不是这样,则需要找到你自己机器上perl 的存放地点,然后使用那个路径。在Unix 系统中,可能使用如下一行找到
perl:
#! /usr/bin/env perl
如果Perl 存放的路径不在你的搜索路径上,应当询问你的系统管理员或者某一个和你使用同一台机器的人。
在非Unix 系统中,传统上把第一行写做#!perl。至少,它立刻告诉程序的维护者,这是一个Perl 程序。如果#!行错了,通
常会在shell 中得到一些错误信息。通常是一些意想不到的信息,如文件不存在“file not found”。这不是说没有找到你的文
件;而是说perl 没有在/usr/bin/perl 那里(其恰当的地方)。我们应当时这条消息更清晰,但它不是Perl 而是shell 给的。(顺
便提醒下,不要把usr 写成user,因为发明Unix 的伙计懒于书写,因此省略了许多字符)。
另一个问题是,你的系统可能根本不支持#!。如果这样,你的shell(或者别的),可能要自己执行你程序,得到一些让人吃
惊的结果。如果不知道这些错误信息,你可以查看perldiag 的用户手册。
“main”程序包含了所有Perl 语句(不包括子程序,你在后面会看到)。和C 或Java 不一样,Perl 中没有“main”程序。
和其它语言不同,Perl 中不需要声明变量。如果其它语言中你必须申明变量,这可能让你惊奇。但它让我们快速写出Perl
程序。如果程序只有两行,不希望其中一行仅仅是申明变量。如果你想声明变量,这是好事;第四章有详细说明。
许多语句,由表达式后接分号组成。下面是你已经看了几次的语句:
print “Hello,world!\n”;
你可能猜想,这行将打印出Hello,world!。结尾是\n,如果使用过C,C++,Java,你可能知道它是换行。当打印出这条信
息后,换行,shell 提示符出现在新行上,而不是在上一条信息之后。单行的输出应当以换行符结束。下一章我们将学习更
多的关于换行符,和其它由反斜线(\)转义的符号。 |
|