【发布时间】:2014-04-13 10:59:35
【问题描述】:
你好,我有一些如下数据
S_ METHOD m0 : 47|8@0- (1,0) [0|0] ""
S_ CTRL m1 : 15|8@0- (0.01,-200) [0|0] ""
我试图从以上 2 行中提取曲线括号 () 中的内容,我编写了一个 perl 脚本
my @temp_signal = split(":",$line);
my @signal= split(" ",@temp_signal[0]);
my @Factor_temp1 = split (" ",@temp_signal[1]);
my @factor_temp = split ('\(',@Factor_temp1[1]);
my @factor = chop(@factor_temp);
my @offset = split (",",@factor_temp);
print OUTFILE1 "@offset[0]\n";
print OUTFILE1 "$signal[1]\n";
但是当我试图打印@offset[1] 和@offset[0] 时,它会打印一些其他值,这些值甚至不存在于该行中,我怎样才能将这些值作为
1 0
0.01 -200
【问题讨论】:
-
问题是您将数组传递给第四个
split。运算符在标量上下文中评估其操作数。标量上下文中的数组评估为它们拥有的元素数量。 -
你可能使用
use strict;(好!)但你没有使用use warnings;(坏!)
标签: perl