- 论坛徽章:
- 0
|
回复 4# jiang870320
回复 6# mcshell
回复 7# rubyish
诸位的指导我都仔细看过了 得到不少启发 自叹基本功太差 日后一定要重读小羊驼书
我觉得是我提问的方式太笼统了 我在详细描述一遍我的需求吧
我有一行长数据,每个数据段的格式为:
8个数字6个数字40个任意字符(包含数字和空格):
781010030004281哈哈567 78171001000105呵呵456
我想要得到的结果是- 78101003,000567,1哈哈567
- 78171001,000456,呵呵456
复制代码 我根据楼上朋友的提示写出了如下代码- #!/usr/bin/perl
- use strict;
- use warnings;
- use File::Copy;
- open (DATA_FILE ,"testfile") or die "Cannot open data file:$!";
- while (<DATA_FILE>){
- my @arr=split /(\d{14}.{40})/;
- foreach (@arr){
- my @tmp=unpack("A8A6A40",$_);
- print join(",",@tmp),"\n";
- }
- }
复制代码 但是结果为:- ,,
- 78101003,000567,1哈哈567
- ,,
- 78171001,000456,呵呵456
- ,,
复制代码 中间的空项是怎么产生的呀。。? |
|