2012-09-13 39 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); 
}