2012-09-13 40 views
-1

我的代码如下:的Perl:HOWTO分裂

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。

+1

你有什么问题部分用?你到目前为止的代码在哪里? – ikegami

+0

我很好,分裂并采取下一行。但我努力设置标志F1,F2,F3,F4。 – suno

+3

我们不是“请为我写代码” - 网站。相反,这通常是这样的:你写一些代码;你有一个问题/问题;您向我们展示您遇到问题的代码并询问具体问题。不,“我如何将Perl转换成B”不算作一个具体问题。 –

回答

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); 
}