C 사전 처리기가 작동하는 방식과 비슷하게 원본 파일의 텍스트를 바꿀려고합니다. 내 접근 방식은 상수와 그 값을 구문 분석하고 해시 배열을 으로 채 웁니다. ,Perl Regexes - 특정 일치 항목 바꾸기
#define CONSTANT 10
#define CONSTANT_PLUS_ONE CONSTANT + 1
내가 두 번째 라인에 맞게 /^#define\s+(\w.*)\s+.*($key).*/
를 사용하지만, 내가 s/$2/$defines{$key}/
로 교체 할 때, 상수의 두 인스턴스가 교체 : 소스 파일에서
내가 가진, 다음과 같이 내 문제입니다 즉
#define CONSTANT 10
#define 10_PLUS_ONE 10 + 1
나는 펄 초보자의 뭔가, 그래서 누군가가 올바른 방향으로 날 지점 수 바라고, 또는 나는 노골적으로,369했습니다 경우어리석은 실수.
대체 정규 표현식에서/g를 사용하고 있지만 질문에서 생략하고 있습니까? –