use strict; use warnings; local $/="\n\n"; while (){ if ( my ($prefix,$suffix)=m/\[WinEventLog:.+index = (\w+)_(pr|np)\s*$/s){ # print "$prefix\_$suffix found .. replacing...\n"; s/index = $prefix\_$suffix\s*$/index = window_$suffix\n\n/; } print ; } __DATA__ [WinEventLog://Application] checkpointInterval = 5 current_only = 0 disabled =0 start_from = oldest index = CNDO_pr [WinEventLog://Security] checkpointInterval = 5 current_only = 0 disabled =0 start_from = oldest index = CGWS_pr [WinEventLog://System] checkpointInterval = 5 current_only = 0 disabled =0 start_from = oldest index = DMRW_pr [WinEventLog://ForwardedEvents] checkpointInterval = 5 current_only = 0 disabled =0 start_from = oldest index = NENP_pr [WinEventLog://Setup] checkpointInterval = 5 current_only = 0 disabled =0 start_from = oldest index = EOFK_pr [WinEventLog://Application] checkpointInterval = 5 current_only = 0 disabled =0 start_from = oldest index = FDWD_np [WinEventLog://Security] checkpointInterval = 5 current_only = 0 disabled =0 start_from = oldest index = ASKD_np [WinEventLog://System] checkpointInterval = 5 current_only = 0 disabled =0 start_from = oldest index = JMSF_np [WinEventLog://ForwardedEvents] checkpointInterval = 5 current_only = 0 disabled =0 start_from = oldest index = JCCD_np [WinEventLog://Setup] checkpointInterval = 5 current_only = 0 disabled =0 start_from = oldest index = HSMS_np