了解知识
**如何运行Perl
本来单独写这一章的主要目的是介绍Windows下运行Perl的配置,不过既然上面版大已经
给出了一个攻略。那么这一章基本上就只剩下一些废话了。
 
**第一个Perl程序
让我们来回顾上一章的典型的Hello, world!
cat hello.pl
 
#!/usr/bin/perl -w
print "Hello, world!";
 
***通过perl调用hello.pl
把脚本的文件名当作perl程序的参数:perl hello.pl。
perl接受其它的选项。
 
***直接调用hello.pl
首先需要给hello.pl添加可以执行(x)权限:
chmod a+x hello.pl
然后像调用普通的执行文件一行执行hello.pl
./hello.pl
 
注意脚本第一行是以 #! (sha-bang)开头的,这一行告诉系统执行这个脚本的
解析器和参数,系统会用解析器创建进程,把参数和文件名传递给解析器:
./hello.pl
等效于:
/usr/bin/perl -w ./hello.pl
 
sha-bang行是perl程序中最不移植的:perl程序可能装在/usr/bin/、/usr/local/bin/、
/opt/bin/、/bin/下,修改你的脚本的sha-bang行,使之指向正确的perl安装位置。
 
**perl的选项: -w
-w是perl最实用的选项,它让perl输出许多关于奇怪结构的警告,比如使用未曾赋值的变量,
重定义函数,等等。这一点对我这样的深受C语言影响的程序员非常有效。在以后的例子中,
我们会一直使用-w选项。注意,-w选项只是告诉你的程序可能存在问题,对运行结果基本没有
任何影响(有的,比如输出对你有用的话)。
 
**perl的选项:-e
我们可以直接把脚本程序写在命令行参数中,-e后一个参数就是脚本程序片段;可以有多个-e,
多个-e后面的脚本程序片段如同连续出现一样(以换行分隔)。比如上面的Hello, world!也可以这么写:
perl -e 'print "Hello, world!/n";'
也可以这样写:
perl -e 'print "Hello, ";' -e 'print "world!/n";'
甚至可以写成这样:
perl -e 'print "Hello, ' -e 'world!/n";'
第三个运行的结果和前两个略有不同,知道原因么?
 
-e选项一般用于执行一些很简单的程序或者例子程序(demo)。
 
**perl的选项:-M
-M选项用于在程序开始执行前引入某个模块:
-Mwarnings
等效于在程序的最开始执行引入模块的语句:
use warnings;
这个选项在以后讲模块的时候再讲。
 
**perldoc
perldoc是一个很有效的帮助文档。
 
***基本用法
perldoc word
perldoc -f perl-builtin-function
凡是在perl中遇到的不知道的标识,都可以尝试用上面两个命令来看看perl有没有给出有效的帮助,
比如我们想查询print函数的用法:
perldoc print
没有给出任何内容!
perldoc -f print
这回perldoc给出了详细的用法,hoho。
 
***perl的一堆资料
perldoc可以查到关于perl的一堆资料,有许多tutorial,manual,faq或者其它的。
比如:
perldoc perlsyn
给出关于perl语法的详细说明。
但是我们怎么知道要用一个什么样的word来找到我们想要的资料呢?perldoc perl!
perldoc perl
然后往下翻几页,就能看到:
 
       For ease of access, the Perl manual has been split up into several sec‐
       tions.
 
       Overview
 
           perl                Perl overview (this section)
           perlintro           Perl introduction for beginners
           perltoc             Perl documentation table of contents
 
       Tutorials
 
           perlreftut          Perl references short introduction
           perldsc             Perl data structures intro
           perllol             Perl data structures: arrays of arrays
 
           perlrequick         Perl regular expressions quick start
           perlretut           Perl regular expressions tutorial
 
           perlboot            Perl OO tutorial for beginners
           perltoot            Perl OO tutorial, part 1
           perltooc            Perl OO tutorial, part 2
           perlbot             Perl OO tricks and examples
 
左边的就是我们想要的word了!比如perldoc perlintro就能看到关于perl的介绍。
标签: perl
扩展知识