Tôi có một tập lệnh Perl đọc tìm kiếm regex và thay thế các giá trị từ tệp INI.Perl: chuyển tìm kiếm regex và thay thế bằng các biến
Tính năng này hoạt động tốt cho đến khi tôi cố gắng sử dụng các biến chụp ($ 1 hoặc \ 1). Chúng được thay thế theo nghĩa đen với $ 1 hoặc \ 1.
Bất kỳ ý tưởng nào về cách tôi có thể nhận chức năng chụp này để chuyển các bit regex qua các biến? mã ví dụ (không sử dụng một tập tin này) ...
$test = "word1 word2 servername summary message";
$search = q((\S+)\s+(summary message));
$replace = q(GENERIC $4);
$test =~ s/$search/$replace/;
print $test;
Điều này dẫn đến ...
word1 word2 GENERIC $4
KHÔNG
word1 word2 GENERIC summary message
nhờ
mẫu tìm kiếm của bạn sẽ không thành công, có **!: ** ở cuối mẫu tìm kiếm nhưng không nằm trong chuỗi. – tuxuday
xin lỗi sai về phần của tôi,!: Đáng lẽ phải bị loại bỏ khỏi ví dụ – andyml73