[问题] 字串转阵列

楼主: hws110 ( only you )   2013-04-23 22:50:46
各位板友大家好,小弟不才,有个问题想跟大家请教
原始资料如下 想将资料转成
ABCDEFGHIJ
V { All = 00009D0110; } @A1=010
V { All = 10009D0000; } @A2=002
V { All = 0209D00007; } @A3=000
. @A4=009
. @A5=99D
. @A6=DD0
@A7=000
@A8=100
@A9=100
@A10=007
....
这三笔资料的第一个资料0.1.0,是第一个代号A的;
同样的第二个资料0.0.2则是代号B的资料。
而我想将各代号的资料都写到各个阵列中,之后如果我取@A1[2]就是0;@A4[2]就是9
程式码如下,先开档读档
if ($_ =~ /V { All = (\w+); }/)
{
push (@all_pat, $1); }
for ($i=0; $i<10;$i++)
{
for ($j=0; $j<3;$j++)
{
$all_patt2 = substr(@all_pat[$j],$i,1);
print "$all_pat2 "; }
print "\n"; }
单纯在循环里打印,然后在循环外面打印换行符号
是可以印出我想要的结果,如下
010
002
000
009
99D
DD0
000
100
100
007
但是我要怎么将目前每一横行的结果都丢到每一个独特的阵列里面?
而原始资料有数万行,代号也有近百个,
我要怎么样做才可以当代号有n个,就自动产生n个阵列来依序存值?
还望各位板友不吝解答,感谢~

Links booklink

Contact Us: admin [ a t ] ucptt.com