Perl语言学习笔记 day 2
1、在Perl中,子程序名与变量名属于不同的命名空间,可以使用同一个名字分别命名子程序和变量,但不建议这样使用。 2、子程序的定义是全局的,同名的子程序后边的会覆盖掉前边的定义。 3、定义子程序 sub subProgram{ #body } 4、调用子程序 &subProgram 5、所有的子程序都有返回值,默认最后一行的运算结果为返回值。 6、子程序未定义参数时,传递的参数默认传给"@_",可以通过$_[0]、$_[1].....访问; 访问传递的参数: 1、($m,$n) = @_ 2、$_[0]、$_[1]…… 7、在子程序中创建私有变量 my($m,$n); my不会改变赋值时的上下文; my变量只在其所在的最内层语句块(如for、foreach等)使用,超出则无效; 如果不在任何语句块中,则对整个程序文件有效,作为整个程序文件的私有变量使用; my 后边加括号,括号内的变量都被声明,不加括号只对紧跟其后的那个变量有用,my($m,$n)、my $m,$n; 8、use strict:使用更严格的语法规则,对当前语句块和剩下的部分有用; 9、如果Perl在语法上可以识别出是子程序调用,则可以省略“&”,但是子程序名与Perl内置函数同名的时候,“&”不可省略; 10、持久性私有变量 例: sub run{ state $n = 0;#初始化一次,再次执行会被忽略 $n +=1; } 无法用于数组和哈希类型的变量; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |