- 締切済み
Perl 順位 複数のLoop
合計の順位を求めたいのですが、 詰まってしまいました。 どうかご教示お願い致しますm(_ _)m まず下記のように Class1 1.txt の 3列目の合計 65.2 2.txt の 3列目の合計 80.5 3.txt の 3列目の合計 70 4.txt の 3列目の合計 92.6 5.txt の 3列目の合計 76.1 6.txt の 3列目の合計 85.2 このように6つのファイルがあり その3列目の合計は求めるとこまできました。 6つのファイルを元に順位をつけて HTMLのテーブル化を試みているのです。 for($Class=1;$Class<=5;$Class++){ open(F, "<","Class$Class.txt"); flock(F, 1); @CL = <F>; close F; for($KakuFile=1;$KakuFile<=$#CL;$KakuFile++;){ open(F, "<","KakuFile/$KakuFile.txt"); flock(F, 1); @DATA = <F>; close F; for($A=0;$A<=20;$A++;){ my $Data = $DATA[$A]; chomp($Data); my ($Name,$No,$Sum,...etc) = split(/,/, $Data); $SumDex = "Sumの合計を求める式"; #1.txt の場合 65.2 #2.txt の場合 80.5 #3.txt の場合 70 $RANK = "ここにどのような記述が入りますか?"; #1.txt の場合 6 #2.txt の場合 3 #3.txt の場合 5 #4.txt の場合 1 #5.txt の場合 4 #6.txt の場合 2 $HTML[$A] =" ~略 <td>$Name</td> <td>$SumDex</td> <td>$RANK</td> ~略 "; @HTML , $HTML[$A]; open(F, ">:utf8","RankHtml.txt") or die("error :$!"); flock(F, 2); print F "@HTML\n"; close F; } } } 最終的な結果としては、 <td>1.txtのName</td> <td>65.2</td> <td>6</td> <td>2.txtのName</td> <td>80.5</td> <td>3</td> <td>3.txtのName</td> <td>70</td> <td>5</td> <td>4.txtのName</td> <td>92.6</td> <td>1</td> <td>5.txtのName</td> <td>76.1</td> <td>4</td> <td>6.txtのName</td> <td>85.2</td> <td>2</td> このような結果がほしいです。 実際やりたいことはこのようなことなのですが、 どうすればいいのかわからず説明も、おかしなとこがあるかもしれません;; どうかお助け願いますm(_ _)m また、初心者で、Loopの使いかたがおかしかったり とかも指摘頂けると幸いです。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- amanojaku1
- ベストアンサー率54% (265/488)
- amanojaku1
- ベストアンサー率54% (265/488)
- amanojaku1
- ベストアンサー率54% (265/488)
- hok212
- ベストアンサー率66% (100/150)