这是我的字符串模式,“ 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
答案 0 :(得分:0)
我找到了这个问题的答案:
if ($line =~ /ACTION(.*?)(\s+?)$/) {
my $action = $array[$i];
@actionArr=split(/\s+/,$action);
$action = actionArr[0];
$QUANTITY =actionArr[1];
}
答案 1 :(得分:0)
您的问题确实不是很清楚。但是,也许是这样的:
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
}
}