作者dryman (dryman)
看板Perl
标题Re: [问题] 如何从档案里取数字并相加
时间Thu Feb 9 10:32:28 2012
※ 引述《saka12 (saka)》之铭言:
: 大家好:
: 我手边有一个档案 input.txt 如下
: the 77 survey: 77 out of 100 people will not pick the number 1 as the first choice.
: A stitch in time saves 9 but only if you have exactly 9.
: 52 trombones were in 5 marching bands in the big parade of 52 and 52 people attended.
: 要取出每行的数字,去除重复的数字,并相加
: 77+100+1+9+52+5= 274
: 我已经把每行的数字取到阵列中,可是我不知道删掉重复的数字
: 有想过用hash,可我怎麽写都写不出来,请大家给我一点提示
: 谢谢
非常直白的写法
$string="your stirng";
@nums = ($string =~ /\d+/g);
%unique = map { $_, 1} @nums;
$sum += $_ for keys %unique;
print $sum;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.22.80
1F:推 scwg: for 那行只需要 $sum = keys %unique 02/09 12:58
2F:推 scwg: Oops, 想错了, 原 po 是对的 orz 02/09 12:59