Manpages

이 파 일 을 내 용 그 대 로 읽 고 있 다 면 우 스 꽝 스 러 운 문 자 는 무 시 해 주 세 요 . 이 문 서 는 POD로 읽 을 수 있 도 록 POD 형 식 (pod/perlpod.pod 문 서 를 확 인 하 세 요 )으 로 작 성 되 어 있 습 니 다 .

NAME

perlko - 한 국 어 Perl 안 내 서

DESCRIPTION

Perl의 세 계 에 오 신 것 을 환 영 합 니 다 !

Perl은 가 끔 ’Practical Extraction and Report Language’라 고 하 기 도 합 니 다 만 다 른 널 리 알 려 진 것 들 중 에 서 ’Pathologically Eclectic Rubbish Lister’라 고 하 기 도 합 니 다 . 사 실 이 것 은 끼 워 맞 춘 것 이 며 Perl이 이 것 들 의 첫 글 자 를 가 져 와 서 이 름 을 붙 인 것 은 아 닙 니 다 . Perl의 창 시 자 Larry가 첫 번 째 이 름 을 먼 저 생 각 했 고 널 리 알 려 진 것 을 나 중 에 지 었 기 때 문 입 니 다 . 그 렇 기 때 문 에 ’Perl’은 모 두 대 문 자 가 아 닙 니 다 . 널 리 알 려 진 어 떤 것 을 가 지 고 논 쟁 하 는 것 은 의 미 가 없 습 니 다 . Larry는 두 개 다 지 지 합 니 다 .

가 끔 p가 소 문 자 로 작 성 된 ’perl’을 볼 것 입 니 다 . P가 대 문 자 로 되 어 있 는 ’Perl’은 언 어 를 참 조 할 때 쓰 이 며 ’perl’처 럼 p가 소 문 자 인 경 우 는 여 러 분 의 프 로 그 램 을 컴 파 일 하 고 돌 릴 때 사 용 되 는 해 석 기 를 지 칭 할 때 사 용 됩 니 다 .

Perl에 관 하 여

Perl은 본 래 문 자 열 생 성 을 위 해 만 들 졌 지 만 지 금 은 시 스 템 관 리 와 웹 개 발 , 네 트 워 크 프 로 그 래 밍 , GUI 개 발 등 을 포 함 한 여 러 분 야 에 서 널 리 사 용 되 는 범 용 프 로 그 래 밍 언 어 입 니 다 .

이 언 어 는 아 름 다 움 (아 주 작 고 , 우 아 하 고 , 아 주 적 고 )보 다 실 용 적 (사 용 하 기 쉽 고 , 효 율 적 이 며 , 가 능 한 최 대 한 )인 것 을 지 향 하 고 있 습 니 다 . 사 용 하 기 쉽 고 , 절 차 적 프 로 그 래 밍 과 객 체 지 향 프 로 그 래 밍 을 모 두 지 원 하 고 , 강 력 한 문 자 열 처 리 기 능 을 내 장 하 고 , 세 상 에 서 가 장 인 상 적 인 제 3자 의 모 듈 모 음 처 를 가 지 고 있 다 는 것 은 Perl의 가 장 중 요 한 특 징 입 니 다 .

Perl의 언 어 적 특 징 은 pod/perlintro.pod 문 서 에 서 소 개 합 니 다 .

이 번 릴 리 스 에 서 가 장 중 요 한 변 화 는 pod/perldelta.pod에 서 논 의 합 니 다 .

또 한 다 양 한 출 판 사 가 출 판 한 많 은 Perl 책 은 다 양 한 주 제 를 다 루 고 있 습 니 다 . 자 세 한 정 보 는 pod/perlbook.pod 문 서 를 확 인 하 세 요 .

설 치

여 러 분 이 비 교 적 현 대 의 운 영 체 제 를 사 용 하 고 있 고 현 재 버 전 의 Perl을 지 역 적 으 로 설 치 하 고 싶 다 면 다 음 명 령 을 실 행 하 세 요 .

    ./Configure -des -Dprefix=$HOME/localperl
    make test
    make install

앞 의 명 령 은 여 러 분 의 플 랫 폼 에 맞 게 환 경 을 설 정 하 고 컴 파 일 을 수 행 한 후 , 회 기 테 스 트 를 수 행 한 뒤 , 홈 디 렉 터 리 하 부 의 localperl 디 렉 터 리 에 perl을 설 치 합 니 다 .

여 러 분 이 어 떠 한 문 제 든 겪 게 되 거 나 사 용 자 정 의 버 전 Perl을 설 치 할 필 요 가 있 다 면 현 재 배 포 판 에 들 어 있 는 INSTALL 파 일 안 의 자 세 한 설 명 을 읽 어 야 합 니 다 . 추 가 적 으 로 일 반 적 이 지 않 은 다 양 한 플 랫 폼 에 서 Perl을 빌 드 하 고 사 용 하 는 방 법 에 대 한 도 움 말 과 귀 띔 이 적 혀 있 는 많 은 수 의 README 파 일 이 있 습 니 다 .

일 단 Perl을 설 치 하 고 나 면 "perldoc" 도 구 를 이 용 해 풍 부 한 문 서 를 사 용 할 수 있 습 니 다 . 시 작 하 기 위 해 서 다 음 명 령 을 실 행 하 세 요 .

    perldoc perl

실 행 에 어 려 움 을 겪 는 다 면

Perl은 뜨 개 질 에 서 부 터 로 켓 과 학 까 지 모 든 분 야 에 서 사 용 할 수 있 는 크 고 복 잡 한 시 스 템 입 니 다 . 여 러 분 이 어 려 움 에 부 딪 혔 을 때 그 문 제 는 이 미 다 른 사 람 이 해 결 했 을 가 능 성 이 높 습 니 다 . 문 서 를 모 두 확 인 했 는 데 도 버 그 가 확 실 하 다 면 "perlbug" 도 구 를 이 용 해 서 저 희 에 게 버 그 를 보 고 해 주 세 요 . "perlbug"에 대 한 더 자 세 한 정 보 는 "perldoc perlbug" 또 는 "perlbug"를 명 령 줄 에 서 실 행 해 서 확 인 할 수 있 습 니 다 .

Perl을 사 용 가 능 하 게 만 들 었 다 하 더 라 도 Perl은 계 속 해 서 진 화 하 기 때 문 에 여 러 분 이 맞 닥 뜨 린 버 그 를 수 정 했 거 나 여 러 분 이 유 용 하 다 고 생 각 할 법 한 새 로 운 기 능 이 추 가 된 좀 더 최 신 버 전 이 있 을 수 있 습 니 다 .

여 러 분 은 항 상 최 신 버 전 의 perl을 CPAN (Comprehensive Perl Archive Network) 사 이 트 <http://www.cpan.org/src/>; 에 서 찾 을 수 있 습 니 다 .

perl 소 스 에 간 단 한 패 치 를 등 록 하 고 싶 다 면 pod/perlhack.pod 문 서 의 " SUPER QUICK PATCH GUIDE" 를 살 펴 보 세 요 .

그 냥 개 인 적 으 로 참 고 하 세 요 . 제 가 이 것 처 럼 멋 진 물 건 을 만 든 다 는 것 을 여 러 분 이 알 기 를 바 랍 니 다 . 그 것 은 제 이 야 기 의 "저 자 (Author)"를 기 쁘 게 하 기 때 문 입 니 다 . 이 것 이 여 러 분 을 귀 찮 게 한 다 면 여 러 분 의 "저 작 (Authorship)"에 대 한 생 각 을 정 정 해 야 할 수 도 있 습 니 다 . 하 지 만 어 쨌 거 나 여 러 분 은 Perl을 사 용 하 는 데 는 문 제 가 없 답 니 다 . :-)

- "저 자 "로 부 터 .

인 코 딩

Perl은 5.8.0판 부 터 유 니 코 드 /ISO 10646에 대 해 광 범 위 하 게 지 원 합 니 다 . 유 니 코 드 지 원 의 일 환 으 로 한 중 일 을 비 롯 한 세 계 각 국 에 서 유 니 코 드 이 전 에 쓰 고 있 었 고 지 금 도 널 리 쓰 이 고 있 는 수 많 은 인 코 딩 을 지 원 합 니 다 . 유 니 코 드 는 전 세 계 에 서 쓰 이 는 모 든 언 어 를 위 한 표 기 체 계 (유 럽 의 라 틴 알 파 벳 , 키 릴 알 파 벳 , 그 리 스 알 파 벳 , 인 도 와 동 남 아 시 아 의 브 라 미 계 열 스 크 립 트 , 아 랍 문 자 , 히 브 리 문 자 , 한 중 일 의 한 자 , 한 국 어 의 한 글 , 일 본 어 의 가 나 , 북 미 인 디 안 의 표 기 체 계 등 )를 수 용 하 는 것 을 목 표 로 하 고 있 기 때 문 에 기 존 에 쓰 이 던 각 언 어 및 국 가 그 리 고 운 영 체 계 에 고 유 한 문 자 집 합 과 인 코 딩 에 쓸 수 있 는 모 든 글 자 는 물 론 이 고 기 존 문 자 집 합 에 서 지 원 하 고 있 지 않 던 아 주 많 은 글 자 를 포 함 하 고 있 습 니 다 .

Perl은 내 부 적 으 로 유 니 코 드 를 문 자 표 현 을 위 해 사 용 합 니 다 . 보 다 구 체 적 으 로 말 하 면 Perl 스 크 립 트 안 에 서 UTF-8 문 자 열 을 쓸 수 있 고 , 각 종 함 수 와 연 산 자 (예 를 들 어 , 정 규 식 , index, substr)가 바 이 트 단 위 대 신 유 니 코 드 글 자 단 위 로 동 작 합 니 다 . 더 자 세 한 것 은 pod/perlunicode.pod 문 서 를 참 고 하 세 요 . 유 니 코 드 가 널 리 보 급 되 기 전 에 널 리 쓰 이 고 있 었 고 , 여 전 히 널 리 쓰 이 고 있 는 각 국 /각 언 어 별 인 코 딩 으 로 입 출 력 을 하 고 이 들 인 코 딩 으 로 된 데 이 터 와 문 서 를 다 루 는 것 을 돕 기 위 해 Encode 모 듈 이 쓰 이 고 있 습 니 다 . 무 엇 보 다 Encode 모 듈 을 사 용 하 면 수 많 은 인 코 딩 사 이 의 변 환 을 쉽 게 할 수 있 습 니 다 .

Encode 모 듈
지 원 인 코 딩

Encode 모 듈 은 다 음 과 같 은 한 국 어 인 코 딩 을 지 원 합 니 다 .

"euc-kr"

US-ASCII와 KS X 1001을 같 이 쓰 는 멀 티 바 이 트 인 코 딩 으 로 흔 히 완 성 형 이 라 고 불 림 . KS X 2901과 RFC 1557 참 고 .

"cp949"

MS-Windows 9x/ME에 서 쓰 이 는 확 장 완 성 형 . euc-kr에 8,822자 의 한 글 음 절 을 더 한 것 임 . alias는 uhc, windows-949, x-windows-949, ks_c_5601-1987. 맨 마 지 막 이 름 은 적 절 하 지 않 은 이 름 이 지 만 , Microsoft 제 품 에 서 CP949의 의 미 로 쓰 이 고 있 음 .

"johab"

KS X 1001:1998 부 록 3에 서 규 정 한 조 합 형 . 문 자 레 퍼 토 리 는 cp949와 마 찬 가 지 로 US-ASCII와 KS X 1001에 8,822자 의 한 글 음 절 을 더 한 것 으 로 인 코 딩 방 식 은 전 혀 다 름 .

"iso-2022-kr"

RFC 1557에 서 규 정 한 한 국 어 인 터 넷 메 일 교 환 용 인 코 딩 으 로 US-ASCII와 KS X 1001을 레 퍼 토 리 로 하 는 점 에 서 euc-kr과 같 지 만 인 코 딩 방 식 이 다 름 . 1997-8년 경 까 지 쓰 였 으 나 더 이 상 메 일 교 환 에 쓰 이 지 않 음 .

"ksc5601-raw"

KS X 1001 ( KS C 5601 )을 GL (즉 , MSB를 0으 로 한 경 우 )에 놓 았 을 때 의 인 코 딩 . US-ASCII와 결 합 하 지 않 고 단 독 으 로 쓰 이 는 일 은 X11 등 에 서 글 꼴 인 코 딩 (ksc5601.1987-0. ’0’은 GL을 의 미 함 )으 로 쓰 이 는 것 을 제 외 하 고 는 거 의 없 음 . KS C 5601은 1997년 KS X 1001로 이 름 을 바 꾸 었 음 . 1998년 에 는 두 글 자 (유 로 화 부 호 와 등 록 상 표 부 호 )가 더 해 졌 음 .

변 환 예 제

예 를 들 어 , euc-kr 인 코 딩 으 로 된 파 일 을 UTF-8로 변 환 하 려 면 명 령 줄 에 서 다 음 처 럼 실 행 합 니 다 .

    perl -Mencoding=euc-kr,STDOUT,utf8 -pe1 < file.euc-kr > file.utf8

반 대 로 변 환 할 경 우 다 음 처 럼 실 행 합 니 다 .

    perl -Mencoding=utf8,STDOUT,euc-kr -pe1 < file.utf8 > file.euc-kr

이 런 변 환 을 좀 더 편 리 하 게 할 수 있 도 록 도 와 주 는 piconv가 Perl에 기 본 으 로 들 어 있 습 니 다 . 이 유 틸 리 티 는 Encode 모 듈 을 이 용 한 순 수 Perl 유 틸 리 티 로 이 름 에 서 알 수 있 듯 이 Unix의 "iconv"를 모 델 로 한 것 입 니 다 . 사 용 법 은 다 음 과 같 습 니 다 .

   piconv -f euc-kr -t utf8 < file.euc-kr > file.utf8
   piconv -f utf8 -t euc-kr < file.utf8 > file.euc-kr

모 범 사 례

Perl은 기 본 적 으 로 내 부 에 서 UTF-8을 사 용 하 며 Encode 모 듈 을 통 해 다 양 한 인 코 딩 을 지 원 하 지 만 항 상 다 음 규 칙 을 지 킴 으 로 써 인 코 딩 과 관 련 한 다 양 하 게 발 생 할 수 있 는 문 제 의 가 능 성 을 줄 이 는 것 을 추 천 합 니 다 .

소 스 코 드 는 항 상 UTF-8 인 코 딩 으 로 저 장

소 스 코 드 상 단 에 "use utf8;" 프 라 그 마 사 용

소 스 코 드 , 터 미 널 , 운 영 체 제 , 데 이 터 인 코 딩 을 분 리 해 서 이 해

입 출 력 파 일 핸 들 에 명 시 적 인 인 코 딩 을 사 용

중 복 (double) 인 코 딩 을 주 의

유 니 코 드 및 한 국 어 인 코 딩 관 련 자 료

perluniintro

perlunicode

Encode

Encode::KR

encoding

<https://www.unicode.org/>;

유 니 코 드 컨 소 시 엄

<https://std.dkuug.dk/JTC1/SC2/WG2>;

기 본 적 으 로 Unicode와 같 은 ISO 표 준 인 ISO/IEC 10646 UCS (Universal Character Set)을 만 드 는 ISO/IEC JTC1/SC2/WG2의 웹 페 이 지

<https://www.cl.cam.ac.uk/~mgk25/unicode.html>;

유 닉 스 /리 눅 스 사 용 자 를 위 한 UTF-8 및 유 니 코 드 관 련 FAQ

<http://wiki.kldp.org/Translations/html/UTF8-Unicode-KLDP/UTF8-Unicode-KLDP.html>;

유 닉 스 /리 눅 스 사 용 자 를 위 한 UTF-8 및 유 니 코 드 관 련 FAQ의 한 국 어 번 역

Perl 관 련 자 료

다 음 은 공 식 적 인 Perl 관 련 자 료 중 일 부 입 니 다 .

<https://www.perl.org/>;

Perl 공 식 홈 페 이 지

<https://www.perl.com/>;

O’Reilly의 Perl 웹 페 이 지

<https://www.cpan.org/>;

CPAN - Comprehensive Perl Archive Network, 통 합 적 Perl 파 일 보 관 네 트 워 크

<https://metacpan.org>;

메 타 CPAN

<https://lists.perl.org/>;

Perl 메 일 링 리 스 트

<https://blogs.perl.org/>;

Perl 메 타 블 로 그

<https://www.perlmonks.org/>;

Perl 수 도 승 들 을 위 한 수 도 원

<https://www.pm.org/groups/asia.html>;

아 시 아 지 역 Perl 몽 거 스 모 임

<http://www.perladvent.org/>;

Perl 크 리 스 마 스 달 력

다 음 은 Perl을 더 깊 게 공 부 하 는 데 도 움 을 줄 수 있 는 한 국 어 관 련 사 이 트 입 니 다 .

<https://perl.kr/>;

한 국 Perl 커 뮤 니 티 공 식 포 털

<https://doc.perl.kr/>;

Perl 문 서 한 글 화 프 로 젝 트

<https://cafe.naver.com/perlstudy.cafe>;

네 이 버 Perl 카 페

<http://www.perl.or.kr/>;

한 국 Perl 사 용 자 모 임

<https://advent.perl.kr>;

Seoul.pm Perl 크 리 스 마 스 달 력 (2010 ~ 2012)

<http://gypark.pe.kr/wiki/Perl>;

GYPARK (Geunyoung Park)의 Perl 관 련 한 글 문 서 저 장 소

라 이 센 스

README 파 일 의 LICENSING 항 목 을 참 고 하 세 요 .

AUTHORS

Jarkko Hietaniemi <jhi [AT] iki.fi>

신 정 식 <jshin [AT] mailaps.org>

김 도 형 <keedi [AT] cpan.org>