加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl 中有趣的函数

发布时间:2020-12-15 20:58:57 所属栏目:大数据 来源:网络整理
导读:? ? ? ? ?最近一直在学习Perl,感觉很是强大,有好多有趣的函数,作用也是非常的灵活高效,下面是一些常用的函数,我已经处理成成对的,便于大家学习和使用。:-) ? Perl 函数总结: 1.join/split ? ? ?join 作用:把数组元素或者 几个字符串 通过 分隔符 连
? ? ? ? ?最近一直在学习Perl,感觉很是强大,有好多有趣的函数,作用也是非常的灵活高效,下面是一些常用的函数,我已经处理成成对的,便于大家学习和使用。:-)
?
Perl 函数总结:

1.join/split
? ?
?join 作用:把数组元素或者 几个字符串 通过 分隔符 连接成 单个字符串 .
? ? ? ? 格式:join(DELIMITER,ARRAY或string[1,2,3...])
? ? ? ? 实例:join(" : ","Time","12","30"); ? ----> Time : 12 : 30
? ? ? ? ? ? ? ? ? @strings= ("Qin","Zhi","Guo"); ? ? ? ? ? ? ? ? ? ? ? ? (多个字符串)
? ? ? ? ? ? ? ? ? join(":",@strings); ? ? ? ? ? ? ?-----> Qin:Zhi:Guo ? ? (一个字符串)
?split 作用: 通过指定的分隔符字符串分割成若干个字段形成一个数组返回。
? ? ? ? 格式: split(DELIMITER,STRING);
? ? ? ??? ? ?????? split(DELIMITER,STRING,LIMIT); ? ??
? ? ? ??? ? ?????? split(DELIMITER);
? ? ? ? 实例: ? $char="a/b/c/d/e/f"; ? ?(一个字符串)
? ?? ? ??????????? @letters=split("/",$char);
? ?? ? ??????????? print "1.@lettersn";
? ? ? ? ? ? ? ? ?? 输出结果: a b c d e f ? (多个字符串)


2.Pop/Push

Pop ?作用:将数组的 最后一个元素取出并返回。
? ? ? ?
? ? ? ? ? 格式 ?? @array=5..9;
????????????????????$fred=pop(@array);#$fred得到9,@array现在为(5,6,7,8)
????????????????????$barney=pop@array;#$barneygets8,@array现在为(5,6,7)

????????????????????pop@array;#@array现在为(5,6)(7被丢弃了) ?-----允许弹出的元素不被变量接受这种情况。

? ? ? ? ? ? ? ? ? ? ? ?? ? if 数组为空,则pop do nothing,return? undef?

Push 作用:将一个元素(或者一列元素)加在数组的 末尾

? ? ? ? ? 格式: ? ??
? ? ? ? ? ? ? ? ? ?push(@array,0);? ? ?????? #@array现在为(5,0)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?push@array,8;? ? ????????? #@array现在为(5,6,0,8)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?push@array,1..10; #@array现在多了10个元素
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@others=qw/90210/;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?push@array,@others; #@array现在又多了5个元素(共有19个)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?push的第一个参数或者pop的唯一参数必须是数组变量

3.shift/unshift

shift和unshift 不同于pop/push是对数组的 开头 进行操作。

####################################################################
# unshift 和shift 对一个数组的开头进行操作(数组的左端有最小下标的元素)。
# unshift 和shift,如果其数组变量为空,则返回undef。
####################################################################
#!/usr/bin/perl -w
@array = qw#one two three#;
$m = shift (@array); #$m 得到“one”,@array 现在为(“two”,“three”)
shift @array;??? #@array 现在为(“three”)
shift @array;??? #@array 现在为空
$n = shift @array;??? #$n 得到undef,@arry 仍为空
unshift(@array,5);??? #@array 现在为(5)
unshift @array,4;???? #@array 现在为( 4,5)
@others = 1..3;
unshift @array,? @others; #array 现在为( 1,3,4,5)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读