Re: [問題] 抓字元至一維陣列或二維陣列!?

看板Perl作者 (南瓜)時間17年前 (2007/08/08 15:08), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串6/6 (看更多)
※ 引述《pttask (批踢踢.問.XD)》之銘言: : 不好意思,可能是我觀念及想法有問題,還請前輩指導我 : ======================== : 假若我有一個同一個資料夾下有一個123.txt : 其123.txt的內容如下 : acg : bdh : ei : f : ======================== : 而小弟前段大概是這樣想的 : use strict; : open TRY1,"<123.txt"; : my ($try,@array); : while(<TRY1>) <TRY1> 每次只會讀一行進來,所以 while 的內容會跑四次, 照原本的寫法最後 @array 會只有最後一行的內容。 : { : $try=$_; : $try=~ s/\n//g; : #以上代表讀到換行將換行字元去除期望成為acgbdh ei f : @array=split(//,$try); 想存成一維陣列的話,這行改成 push @array, split(//,$try);。 想存成二維陣列的話,這行改成 push @array, [ split(//,$try) ];。 : #將每個字猜成字元,以達到我想要$array[0]=a...$array[6]=空白字元...以此類推 : } : 在於這個部份我的想法是否是有誤的呢? : 假若可以單讀將字元一個一個丟到陣列之中的話 : 後段的部份用兩個雙迴圈應當可以產生以下結果 對,其實用雙層迴圈就能產生下面的結果, 我上一篇寫的那段好像很複雜的轉換程式請當作沒看到……。 (最近迷上那個模組,結果不管做什麼都想用那個模組來做……) ## 假設 @array 已經是二維陣列了 my @array2; for ( my $i = 0; $i < @array; $i++ ) { for ( my $j = 0; $j < @{$array[$i]}; $j++ ) { $array2[$j][$i] = $array[$i][$j]; } } @array = @array2; : ================= : ab : cdef : ghi : ================= : 真的很不好意思我是程式初學者就問大家一些簡易的問題,I'M SO SORRY! Orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.23.102

08/08 16:49, , 1F
感恩:~) 不過我用一維讀取還是會多次重覆 我再努力看看 THX
08/08 16:49, 1F
文章代碼(AID): #16kMli3y (Perl)
討論串 (同標題文章)
文章代碼(AID): #16kMli3y (Perl)