Я пытаюсь заменить текст в исходном файле так же, как
препроцессор C работает. Мой подход состоит в том, чтобы разобрать
константы и их значения и заполнить хэш-массив
их. Моя проблема заключается в следующем:
В исходном файле у меня есть:
#define CONSTANT 10
#define CONSTANT_PLUS_ONE CONSTANT + 1
Я использую /^#define\s+(\w.*)\s+.*($key).*/
, чтобы соответствовать второму
линии, но когда я заменяю на s/$2/$defines{$key}/
, оба
экземпляры CONSTANT заменяются, т.е.
#define CONSTANT 10
#define 10_PLUS_ONE 10 + 1
Я новичок в Perl, так что я надеюсь, что кто-то может
наведите меня в правильном направлении, или если я сделал явно
глупая ошибка.