Re: [问题] 字串转阵列

楼主: flu (Crazy Rhythm)   2013-04-24 23:12:42
※ 引述《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个阵列来依序存值?
: 还望各位板友不吝解答,感谢~
作者: hws110 ( only you )   2013-04-25 21:39:00
感谢您的回复,我会再试试看~感谢~

Links booklink

Contact Us: admin [ a t ] ucptt.com