2016-08-02 59 views
-9

例如在一個Perl的文件時,它是這樣的:如何在perl中匹配一行中的單詞並將其刪除並分別使用它們?

123 abc xyz 
456 abc sdf 
789 abc ghj 

現在從上面的線我需要單獨刪除abc和分配

value 1=123 
value 2= xyz 
value 3= 456 
value 4= sdf 

幫助我如何對上述要求編寫。

+5

你好Sruthi,你嘗試在自己的東西嗎?如果您能向我們展示*您嘗試的*和*您遇到的問題*,那將會很棒。同時,你也應該檢查['如何問'](http://stackoverflow.com/help/how-to-ask) –

+3

這聽起來像一個[XY問題](http://meta.stackexchange.com/問題/ 66377 /什麼,是最XY-問題)。你想達到什麼目的?你能告訴我們你的代碼,讓我們知道你在做什麼嗎? – Sobrique

回答

0
#!/usr/bin/perl 

use strict; 
use warnings; 
use 5.010; 

my $count = 0; 

while (<DATA>) { 
    chomp; 
    for (split/abc /) { 
    $count++; 
    say "value $count=", ($count == 1 ? '' : ' '), $_; 
    } 
} 

__DATA__ 
123 abc xyz 
456 abc sdf 
789 abc ghj 

或者,也許更多數據驅動的方法來確定哪些行省略=後的空間:

#!/usr/bin/perl 

use strict; 
use warnings; 
use 5.010; 

my %nospace = (
    1 => 1, 
); 

my $count = 0; 

while (<DATA>) { 
    chomp; 
    for (split/abc /) { 
    $count++; 
    say "value $count=", ($nospace{$count} ? '' : ' '), $_; 
    } 
} 

__DATA__ 
123 abc xyz 
456 abc sdf 
789 abc ghj 
相關問題