私は、フリップフロップの演算子を使用して、いくつかのテキストの解析をしていますし、私のデータは以下のようになります。Perl Flip-Flopオペレータ - グローバル州問題?
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の合計を見つけ、このデータによって、各セルのために反復処理する必要があります。各セルの下に、1つ以上の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
私はあなたのコードが動作しない理由はわかりません私はエラーを追跡する時間を費やしたくなかった。 –