- 论坛徽章:
- 0
|
[ABC1]
jack
lily
[ABC2]
john
susan
suse
如何输出这种结构:
[ABC1]=>jack lily
[ABC2]=>john susan suse
我的思路如下:
while (<DATA>){
$k = $_ if /\[ABC\d+\]/;
if (/(^\d+)/){
$v = $1;
push @{$hash{$k}}, $v;
}
.............#在这里,不会写了..如何设置标志位还是...?
print "$k=>@{$hash{$k}}\n";
}
__END__
[ABC1]
jack
lily#如果这后面有个空白哦行的话,可以遇到空白行(标志位)就停下来print。当然可以自己事先通篇设置空白行,不过太蠢吧
[ABC2]
john
susan
suse
我首先先到的就是“数组的哈希”结构,所以用了这种方法(不可否认,还有其他方法,设置$/,再用正则,我也测试OK了)。
诸位,帮我看看,按数组的哈希这种结构,该如何写下去,多谢大家!
[ 本帖最后由 windows.li 于 2009-3-20 09:18 编辑 ] |
|