-1

私のコードは次のとおりです。

VAR DS 0D
    DC    AL1(045),AL2(286),AL2(117),AL2(290)

これを分割して、以下の 2 つの形式で出力ファイルにプッシュする必要があります...

format1:
VAR DS  0D
    DC  AL1(045)
    DC  AL2(286)
    DC  AL2(117)
    DC  AL2(290)

format2:
VAR D 
F1  A 045
F2  A 286
F3  A 117
F4  A 290

Perl を使用してこのアクションを実行するにはどうすればよいですか。

4

1 に答える 1

1

しかし、フラグ F1、F2、F3、F4 の設定に苦労しています。

DC値を抽出したら、

my @dc = qw( AL1(045) AL2(286) AL2(117) AL2(290) );

以下を使用できます。

for my $i (0..$#dc) {
   my ($letter, $number) = $dc[$i] =~ /^(.)..\(([0-9]+])\)\z/s
      or die;
   printf("F%-2s %s %s\n", $i, $letter, $number);
}
于 2012-09-13T14:03:43.497 に答える