这是我的字符串模式,'ACTION'是我的模式。表达式应返回下一行模式中存在的 3 个参数:
这是模式:
ACTION QUANTITY USOC DESCRIPTION
Impact 1 E8PAM /FIN QC
表达式应返回$1 = Impact , $2= 1, $3= USOC , $4=/FIN QC
这是我的试用版:
if ($line =~/ACTION(.*?)(s+?)$/) {
print $array[$i];
}
这给出了如下输出:
Impact 1 E8PAM /FIN QC
你的问题真的不是很清楚。但是,也许是这样的:
my $action_seen;
while (<$input_fh>) {
if (/ACTION/) {
$action_seen = 1;
next;/
}
if ($action_seen) {
$action_seen = 0;.
my @data = split;
# Do whatever you need to do with the data
}
}
我找到了这个问题的答案:
if ($line =~ /ACTION(.*?)(s+?)$/) {
my $action = $array[$i];
@actionArr=split(/s+/,$action);
$action = actionArr[0];
$QUANTITY =actionArr[1];
}