2012-02-16 2 views
0

Я пытаюсь обновить файл конфигурации с помощью Perl, я нашел способ прочитать файл и обновить пары значений ключа. Тем не менее, я хотел бы улучшить его предваряя матчи с #, а затем вставить строку в строке нижеPerl-скрипт, строка с подписями с #, вставляет новую строку в строку ниже

Существующий сценарий:

local($^I, @ARGV) = ("sourcefile"); 
    while (<>) { 
      s,^key1=.*$,key1=value1,; 
    s,^key2=.*$,key2=value2,; 
    s,^key3=.*$,key3=value3,; 
      print; 
      close ARGV if eof; 
    } 

Желаемый результат:

file before: 

    key1=value1 
    key2=value2 
    key3=value3 


file after: 

    key1=value1 
    #key2=value2 
    key2=test 
    key3=value3 

ответ

3
if (/match/) { 
    print "#$_"; 
    s/.../.../; 
    print 
} 
Смежные вопросы