常见问题
以我的学习经验来看,在开发的过程中可能有一些常用但是很分散的细节问题会让你感到困惑。
1、 程序的入口参数怎么取?
内置数组@ARGV包含了所有的运行参数。可以打印出来看看 print @ARGV;
2、 函数如何传参数、取参数?
每个函数内部都有一个内置的数组 @_ ,这个数组的元素就是函数的参数。例如传入的第一个参数就是$_[0],第二个是$_[1]。唔,如你所见,Perl的函数参数就是C中的动态参数。
3、 默认变量是什么
这个可能会把你的头搞晕。有一个内置变量 $_ ,
4、 显示消息、退出常见的简单写法
die ‘Error on program’; 数据挖掘研究院
也可以在条件不满足的情况下使用
die ‘Configuration error’ unless($doc->getDocumentElement);
数据挖掘工具
5、 格式化输出
可以用简单的print语句进行一般的输出操作,如果需要复杂的格式化输出,可以使用printf语句……跟C的用法几乎是一样的。
printf("pi=%.6f", 355/113); 数据挖掘交友
6、 =>是什么东西?
在使用Hash表的时候,可以经常看到=>这个符号。例如这样的一个定义:
my $account={
"Simon"=> "simon@email.com",
"Jesse"=> "jesse@email.com"
}; 数据挖掘论坛
其实,=>符号跟逗号”,”是等价的。Perl里面的Hash表事实上是一个数组,只是把奇数位元素看做是Key(键),而把偶数位的元素看做是Value(值)。
7、 关于引用的一点说明
Perl的引用类似C的指针,所谓的引用事实上就是地址。取一个变量的地址用反斜杠””操作符,例如 $p=$x; 那么$p就是一个指向$x变量的指针。要引用指针的值,使用”$”操作符,例如 print $$p; 就是打印$x的值。
引用不单单可以引用变量,也可以引用数组、HASH表、函数,取函数的地址可以使用*操作符。