perl学习记录(一)
1、在unix系统中,如果文本文件开头的最前两个字符是#!,那么后面跟着的就是执行这个文件的程序路径。 2、Perl程序是以源代码形式存在的,运行它的话需要perl的编译器和执行引擎,经过编译和执行两个步骤。如果perl源程序编译时间过长的话,就会成为整个程序运行的瓶颈,尤其是使用perl书写的CGI程序,可能每分钟被web服务器调用成百上千次。所以在这种情况下应该考虑避免编译已编译过的perl程序。 3、除了单引号和反斜线字符外,单引号内所有字符都代表它们自己。需注意的是:只有在后面是另一个反斜线或单引号是,前面的反斜线才有意义。 4、布尔值,perl没有专用的“布尔”数据类型,任何标量值都可以成为if控制结构的判断条件。 如果为数字,0为假,所有其他数字都为真。 如果为字符串,空字符串''为假,所有其他都为真。 由于字符串'0'和数值0是同一个标量值,所以perl会将他们一视同仁。也就是说"0"是唯一被当成假的非空字符串。 5、chomp操作符:它只能用在一个变量上,而且该变量的内容必须为字符串。如果此字符的结尾是换行符,chomp能将它移除。 6、undef值和defined函数,未赋值的标量变量的值视为undef,如果把该变量当成数值,则perl会视为0,如果把变量当成字符串,它会被视为空字符串。defined函数对未赋值的标量变量返回真,对已赋值的标量变量返回假。 7、数组的名字空间和字符串的名字空间是完全分开的,也就是说你可以将一个数组的名字和一个标量变量的名字命名为同一个名字。 8、对于一个数组$array,其最后索引值为$#array,等于该数组大小-1。 9、在圆括号(?)中用逗号隔开的一系列值组成了列表,这些值是列表的元素。 举例来说: (1,2,3)??#包含1??2 3三个数字的列表 ("jim",2)?#两个元素,一个字符串jim,和一个数字2 (1..100)?#100个整数构成的列表 ... 范围操作符..,该操作符从左边的数字计数到右边,每次加1,以产生一连串的数字。仅向上计数。(5..1)??#空列表 10、qw简写。在建立简单的单词列表时,使用qw简写,就不必键入许多索然无味的引号, qw{?fred wilma??dino betty},perl会将里面的字符串当成单引号内的字符串来处理。{}被称为定界符,()? ,##,[],<>都可以作为定界符。 ? 11、当你想引用整个数组时,只要在数组名前加上@字符。 12、push和pop?操作都是操作列表的索引值最高的一端。pop操作符可用来取出数组中最后一个元素,同时返回该元素值。push操作符用于添加一个元素(或是一串元素)到数组的尾端。 pop(@fred);或pop??@fred;??push(@fred,8);或push(@fred,1..10); push的第一个参数或者pop的那个唯一的参数,都是必须要操作的数组变量。对列表直接量进行压入(push)或者弹出(pop)操作是不可能的。 13、shift和unshift操作符与pop和push操作符相似,但它操作的是数组的开头。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |