-1

我的代码如下:

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

我需要将其拆分并以以下两种格式推送到我的输出文件...

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 回答