微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

perl 内置函数转


 一、标量和字符串函数

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] 举报,一经查实,本站将立刻删除。

相关推荐