perl 치환에 대한 질문입니다. 단순치환이 아니라 조금 복잡하네요. 사실 정규식도 잘 모르는 형편이라 조언을 구합니다.
치환하고자 하는 문자열은 다음과 같습니다(가정). 음악부호들입니다. 처음 숫자는 음의길이고, 두번째 알파벳은 옥타브로 소문자와 대문자로 나눕니다. 두개면 두옥타브, 세개면 세옥타브입니다. 마지막 #, ##, -, -- 가 붙을 수 있습니다.
4FF##
4F--
8A-
16c
4GG##
4g--
4A-
4c
$str = "4FF##\n4F--\n8A-\n16c\n4GG##\n4g--\n4A-\n4c\n";
문제는 여기서 -- 일 경우 조를 하나 내리려고 합니다. F-- 이면 E로 치환합니다. FF-- 면 EE 로 치환합니다. 마찬가지로 ## 인 경우도 하나의 조를 올립니다. F## 이면 G 로 GG## 이면 AA 로 치환합니다. 이 치환하는 방법을 모르겠네요. 혹시 도움주실 분 계시면 고맙겠습니다.