?一、标量和字符串函数
1. chop和chomp
??? chop VAR: 去除VAR的最后一个字符,返回去除的字符,VAR省略的时候是$_
??? chop LIST: 去除LIST中的每个元素的最后一个字符,返回最后一次去除的字符
??? chomp是chop的安全版本,它去除有$/决定的结尾字符串,并返回去除的字符个数
2. chr和ord
??? chr NUMBER: 返回NUMBER代表的字符,如chr(65)返回‘A',NUMBER省略时用$_
??? ord EXPR: 返回EXPR第一个字符的ASCII值
3. crypt PLAINTEXT,SALT
??? crypt PLAINTEXT,SALT: 生成和crypt(3)相同的消息摘要
4. hex和oct
??? hex EXPR: 返回十六机制字符串EXPR代表的值
??? oct EXPR: 返回八机制字符串EXPR代表的值
5. lc,lcfirst和uc,ucfirst
??? lc EXPR: 返回EXPR的小写版本,lcfirst返回首字符小写版本,uc和ucfirst对应大写版本
6. length和substr
??? length EXPR: 返回EXPR包含的字符数,不是字节数
??? substr EXPR,OFFSET,LENGTH: 返回子串,LENGTH可省略
7. index,rindex,substr
??? index STR,SUBSTR,POSITION: 返回SUBSTR在STR中从POSITION开始第一次出现的位置,POSITION默认是0,也就是说index STR,SUBSTR从STR开始查找SUBSTR第一次出现的位置
??? rindex STR,POSITION: 和index相反,是找到最后一次出现的位置
???
8. reverse
??? reverse LIST: 在list上下文中返回一个颠倒顺序的LIST,在scaler上下文中先将LIST的元素连接起来,然后返回一个倒过来的字符串
9. sprintf
??? sprintf FORMAT,LIST: 返回对应的printf FORMAT,LIST的输出
二、@ARRAY函数
1. pop和push
??? pop ARRAY: 弹出ARRAY的最后一个元素并减少ARRAY的大小,类似于 $ARRAY[$#ARRAY--],默认参数是$_或者$ARGV
??? push ARRAY LIST: 将LIST的元素添加到ARRAY的末尾,类似于for $value (LIST) {$ARRAY[++$#ARRAY] = $value;}
2. shift,unshift,splice
??? shift ARRAY: 取出ARRAY的第一个元素并减少ARRAY的大小
??? unshift ARRAY,LIST: 将LIST添加到ARRAY的开头,并返回新ARRAY的大小
???
3. splice
??? splice ARRAY,LENGTH,LIST: 用LIST的元素代替ARRAY中从OFFSET开始的LENGTH个元素,后面三个参数都可以省略,省略LIST表示删除元素,省略LENGTH删除到结尾,省略OFFSET清空ARRAY
三、%HASH函数
1. delete,exists
??? delete EXPR: 删除哈希表或数组的元素,返回删除的元素或个数,例如delete $hash{key}; delete $array[index]
??? exists EXPR: 判断是否存在某元素,返回布尔值,例如exists $hash{key}
2. keys,values,each
??? keys HASH: 返回HASH的key列表
??? values HASH: 返回HASH的value列表
??? each HASH: 返回HASH的(key,value)列表,例如
??????????????????????? while (($key,$value) = each %ENV) {
??????????????????????????? print "$key=$value/n";
??????????????????????? }
四、list函数
1. join
??? join EXPR,LIST: 返回一个由EXPR分割的LIST元素字符串,如$rec = join(':',$login,$passwd,$uid,$gid,$gcos,$home,$shell);
2. grep,map
??? grep EXPR/BLOCK,LIST: 对LIST的每个元素执行EXPR/BLOCK,返回结果为真的元素列表。如@foo = grep(!/^#/,@bar);去掉所以注释
??? map EXPR/BLOCK,LIST: 对LIST的每个元素执行EXPR/BLOCK,返回执行结果的列表。如%hash = map { getkey($_) => $_ } @array;将数组转换成哈希?
?
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/4_webprogram/cgi/perljs/20090428/165916.html