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,SUBSTR,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,OFFSET,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

你可能感兴趣的:(JOIN,list,perl,delete,each,hex)