我需要比较列表中代表日志变化幅度的值:
'1.3118 2.07985',
'1.18887 0.990066',
'2.63964 2.31757',
'0.828566 1.03155',
'-0.895715 -0.993696',
'1.24353 1.35931',
'1.2916 1.03409',
'-0.747429 -1.18246',
'1.30936 1.20244',
'1.40537 1.27763',
'-1.07762 -0.978337',
'0.755268 0.837232',
'0.919512 1.09517',
对于每一行,我想进行比较并存储具有最大变化幅度的值。例如,我目前拥有它(感谢这个问题的帮助Regex value comparison)这个比较:
if ($condition1_match > $condition2_match) {
push @largest_change, $condition1_match;
}
正确地将-0.895715
的值定义为小于-0.993696
。但是,我想编写比较,将-0.993696
识别为比-0.895715
答案 0 :(得分:4)
您可以使用绝对值:
if (abs $condition1_match > abs $condition2_match) {
push @largest_change, $condition1_match;
}
当然,反过来说:
elsif (abs $condition1_match < abs $condition2_match) {
push @largest_change, $condition2_match;
}