看板 Perl 關於我們 聯絡資訊
※ 引述《hws110 ( only you )》之銘言: : ABCDEFGHIJ : V { All = 00009D0110; } @A1=010 : V { All = 10009D0000; } @A2=002 : V { All = 0209D00007; } @A3=000 : . @A4=009 : . @A5=99D : . @A6=DD0 : 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"; } 在上面的巢狀for內 當 ($i, $j, $all_pat2) == ( 5, ??, 'DD0')的時候 如果用下面這段: #$i == 5 ; #$all_pat2 == 'DD0' ; # 也要讓%hash已經先用my在迴圈外宣告為lexical scope $hash{"A".$i} = [ split(//, $all_pat2) ] ; 那麼 @{ $hash{'A'.$i} } 就是你要的陣列 $hash{A5}->[0], $hash{A5}->[1], $hash{A5}->[2] 的值就是 'D', 'D', '0' 詳情可以看看 perlreftut 或是google一下 hash of array, reference 之類的關鍵字 : 單純在迴圈裡列印,然後在迴圈外面列印換行符號 : 是可以印出我想要的結果,如下 : 010 : 002 : 000 : 009 : 99D : DD0 : 但是我要怎麼將目前每一橫行的結果都丟到每一個獨特的陣列裡面? : 而原始資料有數萬行,代號也有近百個, : 我要怎麼樣做才可以當代號有n個,就自動產生n個陣列來依序存值? : 還望各位板友不吝解答,感謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc)
hws110:感謝您的回覆,我會再試試看~感謝~ 04/25 21:39
※ 編輯: flu 來自: 36.234.216.245 (04/27 00:15)