[ CnUnix ] in KIDS
글 쓴 이(By): cycho (멋진척)
날 짜 (Date): 2000년 12월 5일 화요일 오전 02시 15분 00초
제 목(Title): [q] Perl에서 한글 글자수 세기
제목 그래로 순 한글로만 되어 있는 스트링 변수 $a가 있으면, 어떻게 해야 글자수를 세줄까요?
[ CnUnix ] in KIDS
글 쓴 이(By): terzeron (microkid)
날 짜 (Date): 2000년 12월 5일 화요일 오전 11시 47분 03초
제 목(Title): Re: [q] Perl에서 한글 글자수 세기
별 수 없을 것 같은데요…
$a = "한글이다.";
이런 건 5자인가요?
스트링변수의 인덱스를 하나씩 뒤로 옮기면서 해당 위치의 바이트가
한글 코드 범위에 있는 글자인지 확인하고, 그렇다면 2 바이트를 하나의
글자로 카운트 해야겠죠. 그게 아니면 1 바이트를 하나의 글자로
카운트하면 되겠구요.
#!/usr/bin/perl
$a = "abc한글이다.";
$count = 0;
for ($i = 0; $i < length $a; $i++) {
if (substr($a, $i, 1) =~ /[\177-\377]/) {
$i++;
}
$count++;
}
print $count;
print "\n";