perl中神奇的split
浏览:2055次 出处信息
今天和群中的朋友聊到perl的split,感觉它还是很容易让新人误会.但有很多时候,如果数据是固定标记来分隔,用他比使用正则可是方便多了.
为什么讲perl的第三个参数很神奇啦.主要在于split的第三个参数.
我们知道split是工作在列表的环境,他会装输入的数据,多分割几次,在建立结果列表,然后返回.接着,会返回第三个参数内的数据,其它的都扔弃.
第三个参数一定要非常小心,为什么,如下的程序,我们只需要前二个参数.我们注意第三个参数2
以下是代码片段: #!/usr/bin/perl while(<DATA>){ my ($aa, $dd) = split(/\s+/, $_, 2); print "$aa || $dd ||\n"; } __DATA__ 1xxxxxxx 2xxxxxx 3xxxxxx 4xxxxx 1xxxxxxx 2xxxxxx 3xxxxxx 4xxxxx 1xxxxxxx 2xxxxxx 3xxxxxx 4xxxxx 1xxxxxxx 2xxxxxx 3xxxxxx 4xxxxx 1xxxxxxx 2xxxxxx 3xxxxxx 4xxxxx |
如果split第三个参数是写的2的话,输出如下结果
以下是代码片段: 1xxxxxxx || 2xxxxxx 3xxxxxx 4xxxxx || 1xxxxxxx || 2xxxxxx 3xxxxxx 4xxxxx || |
如果split是写的3的话,输出如下结果
以下是代码片段: 1xxxxxxx || 2xxxxxx || 1xxxxxxx || 2xxxxxx || |
这主要是因为,如果想取得前2个字段,字段记数为3.因为需要给文件切成3份.拿出前二份.不然都给最后面部分做一份了.
建议继续学习:
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:深入Perl的expect
文章信息
- 作者:扶凯 来源: 扶凯
- 标签: split
- 发布时间:2009-10-26 08:49:18
建议继续学习
近3天十大热文
- [528] 如何拿下简短的域名
- [526] WEB系统需要关注的一些点
- [15] 什么是DNS劫持和DNS污染?
- [13] Zookeeper工作原理
- [11] Mysql监控指南
- [11] 基于SSD的数据库性能优化
- [11] 一致性哈希算法及其在分布式系统中的应用
- [11] 使用DNSPOD的API实现动态域名
- [11] 行进在产品经理的路上
- [11] 大并发下的高性能编程 – 改进的(用户态)自