perl 有很多命令行参数. 通过它, 我们有机会写出更简单的程序. 在这篇文章里我们来了解一些常用的参数. 【扩展信息:module 编写浅析】
safety net options 在使用 perl 尝试一些聪明( 或 stupid) 的想法时, 错误难免会发生. 有经验的 perl 程序员常常使用三个参数来提前找到错误所在, -c 是第一个. 这个参数编译 perl 程序但不会真正运行它. 由此检查所有语法错误. 每次修改 perl 程序之后我都会立刻使用它来找到任何语法错误. 代码:$ perl -c program.pl -w 是第二个参数. 它会提示你任何潜在的问题. perl 5.6.0 之后的版本已经用 use warnings; 替换了 -w .你应该使用 use warnings 因为它要比 -w 更灵活. -t 是第三个参数. 它把 perl 放到了 tain 模式. 在这个模式里, perl 会质疑任何程序外传来的数据. 例如,从命令行读取, 外部文件里读取 或是 cgi 程序里传来的数据. 这些数据在 -t 模式里都会被 tainted 掉. tainted 数据不可以被用来与外部交互. 例如 使用在 system 调用与用作 open 的文件名. perlsec 文档里有更多什么数据会被tainted 掉的例子. 要想使用 tainted 的数据就需要 untaint这个数据. untaint 是通过正则表达式来实现.这里我不会太多的讲述 taint 模式. 如果你要编写的程序 (例如 cgi 程序) 需要从从用户那里接受不可知的输入, 我推荐使有 taint 模式 -d ,perl debugger , 在这里值得一提但我们无法顾及, 我推荐阅读文档 perldoc perldebug 或 richard foley 的 perl debugger pocket reference 一书. command-line programs 下面的几个 perl 参数可以让短小的 perl 程序运行在命令行. -e 可以让 perl 程序在命令行上运行.例如, 我们可以在命令行上运行 "hello world" 程序而不用把它写入文件再运行. 代码:$ perl -e print "hello worldn" 多个 -e 也可以同时使用, 运行顺序根据它出现的位置. 代码:$ perl -e print "hello "; -e print "worldn" ... 下一页