Re: [問題] 同時開啟多個檔案並一次讀一行

看板Perl作者 (C語言)時間11年前 (2013/10/03 22:13), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串2/2 (看更多)
讀入所有檔案, 一次讀入一行存入 record hash 中 然後照 key 排序, 或照 values 排序後印出 1 #!/usr/bin/perl 2 foreach (@ARGV) { 3 open $fhs->{$_}, "<", $_ or die; 4 } 5 6 while (keys %$fhs) { 7 foreach (keys %$fhs) { 8 $fh = $fhs->{$_}; 9 chomp(($line = <$fh>)); 10 close $fh and delete($fhs->{$_}) and next if length $line == 0; 11 ($header, $data) = split(/\s+/, $line); 12 $record->{$header} = $data; 13 } 14 }; 15 16 print "$_ -> $record->{$_}\n" 17 foreach (sort keys %$record); 18 print "$_ -> $record->{$_}\n" 19 foreach (sort {$record->{$a} <=> $record->{$b} } keys %$record); b01:~/perl > ./test2.pl 1.txt 2.txt 3.txt A1 -> 100 A2 -> 200 A3 -> 300 A4 -> 400 B1 -> 1 B2 -> 2 B3 -> 3 C1 -> 10 C2 -> 20 C3 -> 30 B1 -> 1 B2 -> 2 B3 -> 3 C1 -> 10 C2 -> 20 C3 -> 30 A1 -> 100 A2 -> 200 A3 -> 300 A4 -> 400 ※ 引述《kezjiay (好想出國)》之銘言: : 每份檔案的內容是header跟data,並且已經根據header排序好 : ex. A1 50 : B1 40 : C1 60 : 從argv輸入檔案名稱ex. Input1.txt Input2.txt Input3.txt : 依序從檔案讀取一列把header當key跟data存入hash : ex從Input1.txt讀一行存入Input2.txt讀一行存入Input3.txt讀一行存入 : 接著再回到Input1再讀一行然後Input2,Input3一直存 : 想請問這要怎麼寫 : 謝謝大大 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.191.81

10/07 19:35, , 1F
C 語言寫 Perl XD
10/07 19:35, 1F

10/08 22:45, , 2F
c寫膩惹..
10/08 22:45, 2F

10/09 09:26, , 3F
XDDD
10/09 09:26, 3F
文章代碼(AID): #1IJNj_mW (Perl)
文章代碼(AID): #1IJNj_mW (Perl)