【发布时间】:2014-03-12 15:51:39
【问题描述】:
我编写了一个代码,如果它与特定模式匹配,我可以从数组中的一个元素中减去一个特定值(例如:FP=0.021)。这是代码:
if ($info =~ /FP=/) {
my @array1 = split(';', $info);
if ($array1[$#array1] =~ /=([^.]*)/){
my $name1= $-[1];
$FPvalue = substr($array1[$#array1], $name1);
if ($FPvalue < 0.0001){
push(@FPvalues,$FPvalue);
其中 $info 是一个字符串,其中包含由分号字符 (;) 分隔的信息。
我很幸运,“FP=0.021”元素是我数组中的最后一个元素。但我想知道一种不使用表达式来减去它的方法:$array1[$#array1]
感谢您的帮助,谢谢!
【问题讨论】:
-
好吧,一种方法是将其从数组的堆栈中弹出,尽管这确实是一种廉价的技巧,并且仅适用于摆脱“最后一个”元素的这种情况。
标签: regex arrays perl pattern-matching subtraction