나는 플립 플롭 연산자를 사용하여 텍스트 구문 분석을하고있는 중이 야 내 데이터는 같은 아래에 보이는 :펄 플립 플롭 운영자 - 글로벌 주 이슈?
COMMAND START
CELL
123
COUNTER1 COUNTER2 COUNTER3
23 25 45
COUNTER1 COUNTER2 COUNTER3
22 34 52
CELL
234
COUNTER1 COUNTER2 COUNTER3
12 35 35
END
지금 내가이 데이터를 통해 각 셀에 대한 반복 COUNTER2의 합계를 찾을 필요가있다. 각 셀 아래에는 하나 이상의 COUNTER 행이있을 수 있습니다. 아래처럼 플립 플롭 연산자를 사용해 보았지만 작동하지 않습니다.
my ($CELL_ID_COL1, $TEMP_COUNT);
my @line_contents;
while (<>) {
chomp;
if(/^COMMAND.*START$/ .. /^END$/) {
if (my $e1 = /^CELL$/ ... (/^CELL$/ || /^END$/)) {
if ($e1 == 2) {
@line_contents = split(/\s+/, $_); #Split the line read on whitespaces
$CELL_ID_COL1 = $line_contents[0];
print "$CELL_ID_COL1\n";
$TEMP_COUNT = 0;
}
if (my $e2 = /^COUNTER1.*COUNTER3$/ ...(/^COUNTER1.*COUNTER3$/ || /^CELL$/ || /^END$/)) {
print "$_\n";
if ($e2 ==2) {
@line_contents = split(/\s+/, $_); #Split the line read on whitespaces
$TEMP_COUNT += $line_contents[1];
}
if ($e2 =~ /E0$/) {
redo;
}
}
if ($e1 =~ /E0$/) {
print "FINAL COUNT is: $TEMP_COUNT\n";
redo;
}
}
}
}
내가는이 question에서 논의 된 플립 플롭 운영자의 글로벌 상태로 뭔가를 할 수있어,하지만 훨씬 이해하지 못했습니다 생각합니다. 도와주세요.
미리 감사드립니다.
안녕 브라이언, 고마워를 읽을 수 있습니다. 당신은 내가 내 코드 샘플에 직면 문제가 있기 때문에 인 경우 확인하십시오 수 '플립 플롭 운영자의 전역 상태'문제 만? 감사합니다 – pkr13
코드가 작동하지 않는 이유를 모르겠습니다. 나는 오류를 추적하기 위해 시간을 보내고 싶지 않았습니다. –