作者abliou (把青春freeze)
看板Perl
标题Re: [问题] 关於回圈里处理阵列的问题
时间Tue Feb 17 11:34:22 2009
因为你没附上程式码..所以大概写了一下...
你想用的功能不是不支援..只是你语法不太正确
#!/usr/bin/perl
$a=qq#
data1 sdad a lksfjslkdskf
data2 aqew a lkjlkjlkASAK
data3 oeei a kwejlkwkeejw
data4 jfjf b askdadjddjdj
data5 ksdk b sjsjsjsjsjse
data6 yrhr c dhdhhehehusk
data7 hdue c iwjidlkadjsj
data8 hhee c jsuejfufjrud#;
map{push @{ ${[/\s(\w)\s/]}[0] },$_.$/}split/\n/,$a;
print @a ;
※ 引述《pcikilo (Mm~~~)》之铭言:
: 假设这是我的资料结构
: data1 sdad a lksfjslkdskf
: data2 aqew a lkjlkjlkASAK
: data3 oeei a kwejlkwkeejw
: data4 jfjf b askdadjddjdj
: data5 ksdk b sjsjsjsjsjse
: data6 yrhr c dhdhhehehusk
: data7 hdue c iwjidlkadjsj
: data8 hhee c jsuejfufjrud
: 因此类推...下面的格式都是酱....
: 然後我想使用一个回圈处理,根据 a , b, c 的分类出来
: 分别存成三个阵列在做处理...
: EX:
: @a
: data1 sdad a lksfjslkdskf
: data2 aqew a lkjlkjlkASAK
: data3 oeei a kwejlkwkeejw
: @b
: data4 jfjf b askdadjddjdj
: data5 ksdk b sjsjsjsjsjse
: @c
: data6 yrhr c dhdhhehehusk
: data7 hdue c iwjidlkadjsj
: data8 hhee c jsuejfufjrud
: 所以一开始小弟将全部的的资料是为一个阵列 @data ,
: 之後用foreach (@data)撷取substr 我所要文字的范围,
: 不过小弟卡到两个问题,想请问板上的高手
: 就是我使用 if 第i行 与 i+1行 进行比对,
: 如果相符就push 到一个阵列里面,
: 问题来了....这样子data3 跟data4 不符,
: 也就是说我存的每个阵列最後一个都存不到,
: 再来是 push 的指令 好像只能塞 @array,
: 不能用 @array$1. @array$2 ..之类的
: 因为我的想法是资料在回圈里跑..我所分类的资料能存在我给它变数的阵列,
: EX .. @a ,@b,@c,@d.........
: 不过push 似乎不允许这种写法......
: 请问板上的大大...这种问题要怎麽解决?
: SOR....写的涝涝长...谢谢大家!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.126.34.230
※ 编辑: abliou 来自: 59.126.34.230 (02/17 11:36)
1F:推 adu:推~ 02/17 20:50