0
Column A            | Column B    | Column C       |  Column D
35627799100             8               8               2 
35627788000             60              34              45 
35627799200             10              21              21 
35627780000             60              5               8

基本的に、上記のようなファイルがあり、列 B の内容、つまり 8+60+10+60 を追加したいと考えています。率直に言って、テキストである最初の行を削除する必要があるかどうか、および分割関数を使用して行に沿ってハッシュに入れることができるかどうかはわかりません。

my %hash = map {split/\s+/,$_,4} <$file>;

助けてくれてありがとう。

4

2 に答える 2

0

これは、データに基づく例です。

use strict;
use warnings;

my $sum_column_b = 0;
<DATA>; #drop header

while( my $line = <DATA>) {
    $line =~ m/\s+(\d+)/; #regexpr to catch second column values
    $sum_column_b += $1;
}
print $sum_column_b, "\n";  #<-- prints: 138


__DATA__
Column A            | Column B    | Column C       |  Column D
35627799100             8               8               2 
35627788000             60              34              45 
35627799200             10              21              21 
35627780000             60              5               8
于 2013-08-03T08:01:47.087 に答える