一、标量和字符串函数
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。