[perl] 일정 갯수, 같은 열끼리 합한 값을 추출할때

momo7의 이미지

1 1 1 2 3 2 1 2 1 1 2
1 1 1 2 3 2 1 2 1 1 2
1 1 1 2 3 2 1 2 1 1 2
1 1 1 2 3 2 1 2 1 1 2
1 1 1 2 3 2 1 2 1 1 2
1 1 1 2 3 2 1 2 1 1 2

위와 같은 파일 샘플에서 같은 열끼리 합산을 하는데,

첫번째줄부터 세번째 줄까지의 합을 출력하고,

그 다음에는 두번째 줄에서 네번째 줄까지 합하여 출력하고

그 다음에는 세번째 줄에서 다섯번째 줄까지 합하여 출력하고자 합니다.

인터넷에서 코드를 참조하여 아래와 같이 만들었는데

반복수행전까지는 실행이 되나 반복수행(1번째 줄에서 3번째, 2번째에서 4번째,...)은 되질 않습니다

혹시 힌트주실분 있으신가요?

use 5.010;
use Getopt::Long;
my ($file, $howmany, $j);
my (@arr, %arr, $row);
my $result = GetOptions (
"l=s" => \$howmany,
);

for ($j=1; $j<5; $j++){ # <---- 이 문장을 넣기 전까지는 잘 작동합니다.

while(<>){
if ($. >= $j and $. < $j + $howmany) {
@arr=split(/\s*$+/, $_);
for (my $i=0; $i<=$#arr; $i++) {
$arr{$i}+=$arr[$i];
}
$row++;
}
}

print (($arr{$_})," ") for (sort {$a <=> $b} keys (%arr));
print "\n";

}