[問題] 字串轉陣列

作者: 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