일단 위 두 함수는 1.0의 코드로 고쳐놨습니다.
# 줄의 처음부터 #으로 시작하는 주석 aaaaa AAAAAAAAAAAAAAAAAAAAAAA # 앞에 공백이 있어도 허용 bbbb BBBBBBBBBBBBBBBBBB ccccccc CCCCCCCCCCCCCCC # 이렇게 내용이 있는 줄 뒷부분에 달린 주석위와 같은 경우, 주석을 제거하고 나면
aaaaa AAAAAAAAAAAAAAAAAAAAAAA bbbb BBBBBBBBBBBBBBBBBB ccccccc CCCCCCCCCCCCCCC이렇게 빈 줄이 없어야 합니다.
제가 현재 작성한 치환은 아래와 같습니다.
$data =~ s/^\s+//gm; # 각 라인의 앞에 공백 제거 $data =~ s/\s+$//gm; # 각 라인의 뒤에 공백 제거 $data =~ s/^#.*$//gm; # 샵으로 시작하는 라인 제거 $data =~ s/\s+#.*$//gm; # 공백 이후 샵으로 시작하면 거기서부터 라인 끝까지 제거 $data =~ s/(\r?\n)+/\n/gs; # 줄바꿈이 하나 이상 있으면 그걸 하나로 치환. 빈 줄제거. $data =~ s/^\r?\n//gs; # 텍스트 제일 앞에 빈 줄 제거
보다시피 여섯번을 치환을 해야 하니.. 아무리 봐도 맘에 들지 않습니다. 좀 더 효과적인 방법이 없을까요?
동일한 질문을 올린 곳:
반영되었음.