Perl 에서 search 후 count 하는 법 질문
글쓴이: eventia / 작성시간: 화, 2009/08/25 - 8:00오후
tr 이나 s 를 사용해야 할 것 같은데
기본적으로 한 라인이 다음과 같습니다.
aaa/5rt===bbb/er3===ccc/54bT===trt/34df45===kdk/343-qqq/342===ccc/54bT===trt/34df45
스페이스가 표시가 안되서 - 로 대체합니다. 탭은 === 로 대체 합니다.
이 라인에서 빈공백은 /t(탭문자)로 이루어져 있습니다. (여기서는 편의상 세개의 스페이스로 대체했습니다만) 하나의 칸은 스페이스를 의미합니다. 위의 경우 총 7개의 배열에 넣으려고 합니다. 스페이스 하나로 띄워진 부분은 하나로 연결시키고, 탭으로 분리된 것만 따로 처리를 해야 하는데, 여기서 /t 의 갯수를 어떻게 하면 셀수 있을까요?
$count = s/\t/\t/g;
$count = tr/\t/\t/g;
이 방법(들)으로는 에러가 나오네요. 아직 펄을 제대로 배우지 못한 상태라 버벅거리고 있습니다. s 쓰거나 tr 을 쓰거나 해야 할 것 같은데, 그에 관해서 나온 문법 도움말들이 대부분 간단한 알파벳정도에 대한 search 기능 정도로 애를 먹고 있습니다. 자세하게 나온 도움말이 있었으면 하는데 잘 못 찼겠네요.
참고로 빈공백에는 스페이스도 있고, 탭도 있는데 탭의 갯수만 세려고 합니다. 아시는 분의 도움을 구합니다.
Forums:
이렇게
다양한 방법이 있겠지만 split ( http://p3rl.org/split ) 함수와 정규식(g modifier)를 써서하는 방법
.
.
.
.
결과 - Data::Dumper 모듈로 배열 덤프
코드보기: http://codepad.org/PXrQ7rXv
정규식 g modifier를 사용하는 방법
코드보기: http://codepad.org/kYrSzjbW
감사합니다. ^^
잘 아는 사람에게는 별것 아닌걸텐데, 저는 이걸로 밤을 꼬박 새면서 고생했습니다. ㅜ.ㅜ
댓글 달기