컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post [건강] 예풍혈(턱관절 부근) 지압: 치통, 잇몸 질환, 두통, 시력 향상에 효과블로그가 구글에 잘 인덱스 안되던 이유를 좀 알게 됨예전 포스트들이 구글에서 잘 검색되지 않아 고민 중[RSS & Atom 리더] 한RSS (www.hanrss.com) 가 가장 쓰기 편했다[추억의 스냅샷] 핫메일(Hotmail)의 2000년 3월의 화면들구글 어스(Google Earth)에서 자금성(자장면집 아님), 피라미드 발견[Winamp/MP3플레이어] 최고의 윈앰프 스킨들 모음집VMware 가상 PC 소프트웨어로 또 한 대의 PC를 만들어 보자[리니지 사태] 허걱! V3의 안철수 씨도 명의도용됨[리뷰] 빅토리녹스 Victorinox : Swiss Army Knife (일명 맥가이버 ...

[Perl/펄] 윈도우용 액티브펄(ActivePerl) 다운로드 설치법

Tuesday, March 07, 2006

MS윈도에서, 컴퓨터 언어인 'Perl(펄)'을 사용하기 위해서는 ActivePerl 을 설치하는 것이 좋다. Cygwin 내에 있는 펄도 좋지만, 먼저 Cygwin 이 깔려 있어야 하고, 또한 Cygwin 에 대한 전문 지식이 없다면 사용이 조금 까다로운 편이다. 마이크로소프트에서도 내부적으로 펄을 사용하며 특히 ActivePerl 을 사용하는 것으로 알고 있다. 즉 ActivePerl 은 매우 공신력이 있고 안정적이다.

어떤 펄이나 버전만 같다면 동일하다. 그러나 어디서 배포하느냐에 따라 모듈들의 구성이 달라지는 등 미묘한 차이가 있다. MS윈도 즉 Win32 환경에서는, 복잡하게 생각할 필요 없이 ActivePerl 를 깔면 된다. Win32용 모듈들이 많이 포함되어 있어서 편리하다.

다만, 웹 서버용 스크립트를 만들 때는 ActivePerl 이 적합하지 않은 것으로 알고 있다. 아파치 서버용으로는 mod_perl 이 있고, 일반적으로는 PHP 가 널리 사용된다.

ActivePerl 을 서버용으로 사용할 수도 있겠지만 필자가 아는 한 주요한 용도는, 컴퓨터 내에서 각종 잡다한 업무를 처리하는 데 있다. Perl 은 IT 세계의 Swiss Army Knife (일명 맥가이버 칼)로 불린다.




ActivePerl 은 ActiveState 라는 회사에서 배포한다. 그러나 무료다. 개인이든 회사에서든 무료로 사용할 수 있다. Perl 이라는 것 자체가, 파이어폭스와 같은 오픈소스이니 말이다.




ActivePerl 다운로드:



ActiveState 의 ActivePerl 페이지에서, "Free Download"라고 되어 있는 곳을 클릭하면 다운로드 페이지가 나온다.

(1) 다운로드 페이지에서 이메일 주소 등을 물어 보는데 입력하지 않아도 된다. NEXT 버튼을 누른다.

(2) 버전을 확인하자. 이 글을 쓰고 있는 지금 현재 버전은 5.8.7.815 이다. 그러나 "815콜라"와는 상관이 없다. (밑에 보면 ActivePerl 5.6.1.638 버전도 같이 배포하는데 이걸 받을 필요는 없다. 5.8 버전을 쓸 수 없는 특수한 경우에만 사용하는 것이다.)

(3) Windows 라고 되어 있는 항목에서, "MSI"라는 것을 클릭한다. ("AS package"보다도 "MSI"가 쉽고 편리하다.) 파일 크기는 12.7메가이고, 확장자는 ".msi" 다. 파일명은 버전에 따라 다르겠지만
        ActivePerl-5.8.7.815-MSWin32-x86-211909.msi
이런 식이다.

(4) 다운로드받은 설치 파일을 클릭하면 설치가 시작된다. 여느 프로그램처럼 "I accept the terms in the License Agreement (라이센스에 동의합니다)"를 선택해 주어야 한다.

설치 디렉토리의 기본값은 C:\Perl\ 로 되어 있는데, C드라이드에 OS이외의 프로그램을 까는 것은 별로 좋지 않기에 필자는 D:\Perl\ 로 바꾸었다. D드라이브가 없다면 C:\Perl\ 로 그대로 놓아두자. 그리고 "Program Files" 폴더 밑에 설치하는 것은 좋지 않다. 유닉스에는 파일/폴더명에 공백이 없기에 나중에 문제가 생길 수 있다. (다른 언어도 마찬가지지만 특히 펄은 유닉스용으로 개발된 언어다. 유닉스의 일부나 마찬가지다.)

(5) 버전에 따라 안 나올 수도 있지만 만약, "POD를 HTML로 컴파일" 이라는 옵션이 있다면 (영문 문구는 잘 기억나지 않음) 그렇게 하도록 해야 한다. POD 포맷으로 된 펄 매뉴얼들을 HTML 로 보기 좋게 변환해 주는 것이다. 현재 5.8.7 버전은 기본으로 변환되어 있었다.




펄의 폴더들:



D드라이브에 설치한 경우를 예로 들어서 설명:

D:\Perl\bin : 이곳이 펄의 실행 파일과 각종 스크립트들이 있는 곳. 확장자가 없는 것이 펄 스크립트인데, 유닉스와 달리 윈도에서는 확장자가 없는 파일은 실행이 불가능하므로, 실행 가능하도록 변환시켜 놓은 것이 bat 파일들이다. 이것을 무작정 실행시켜 보지 말고 메모장 등으로 열어서 내용을 살펴 보아야 한다. (GUI가 없는 텍스트 기반의 콘솔 프로그램들은, 탐색기에서 마우스로 클릭해 실행시키면 안된다. 반드시 명령 프롬프트에서 실행해야 한다.)

D:\Perl\html : 펄 매뉴얼들이 있는 곳. 여기서 직접 보는 것보다, "윈도 시작 메뉴:/프로그램/ActivePerl 5.8.7 Build 815/Documentation" 아이콘을 실행시키면 브라우저에 보기 좋게 매뉴얼이 뜬다. 대단히 많은 분량이다. 그리고 일반 상용 프로그램의 매끄러운 그것과는 달리, 다소 읽기 까다로운 문체의 영어로 되어 있다. 전문 글쟁이들이 쉽게 다듬은 매뉴얼이 아니라 실무자/해커들이 필요에 의해서 쓴 것이기 때문이다. (여기서 말하는 해커란 나쁜 의미에서가 아닌 긍정적인 의미에서의 해커다.) 따라서 이것을 펄의 입문서로 삼는 것은 곤란하다. O'Reilly 출판사의 "Learning Perl" (일명 라마북 The Llama Book. '라마'라는 동물이 그려져 있기에.)이 가장 좋은 입문서다. O'Reilly 출판사의 펄 서적들은 전세계 펄 프로그래머들에게 있어 '성경'이나 마찬가지다. (O'Reilly출판사나 아마존에서 원서를 구입하거나 그럴 여력이 없는 분은 당나귀에서 적당히 해결하면 된다. ㅎㅎ 요즘에는 당나귀에 각종 IT서적이 pdf나 chm 포맷으로 많이 올라온다.ㅎㅎ)





설치한 펄을 이제 실행시켜 보자:



펄에는 그래픽 유저 인터페이스가 없다. 즉 윈도 창이 나오지 않는다. 코맨드 라인 상에서만 작동한다. 쉽게 말해서, 글자들로만 이루어진 프로그램이다.

유닉스/리눅스용 툴의 대부분은 이렇게 텍스트 모드로 작동한다. 그리고 윈도용 프로그램 역시도 일부 툴은 이렇게 되어 있다. (윈도에서는 "Win32 콘솔 프로그램(Win32 Console Application)"으로 불린다. 16비트인 도스용 텍스트 프로그램과 모양새는 똑같지만, 어디까지나 32비트 프로그램이다.)

윈도 시작/프로그램/보조 프로그램/명령 프롬프트를 선택하면 검은 색의 창이 하나 열리는데, 여기서

        perl --help

라고 입력하고 Enter키를 누르면 펄의 도움말 화면이 나온다. 한글화는 전혀 되어 있지 않지만 한글 입출력에 문제가 없다.

만약 그냥 perl 이라고 입력한다면 화면에 아무것도 나오지 않는다. 커서만 깜빡거릴 것이다. 이것은 정상적인 상태인데, 펄이 입력을 기다리고 있는 것이다. 이때 Ctrl+Z 를 치면 빠져 나올 수 있다.





ActivePerl: 윈도우용 액티브 펄의 도움말 화면

펄의 실체(?)

아주 어렵게 보이는 이야기들이 많이 적혀 있지만 이걸 이해할 필요는 거의 없으니 부담 갖지 말자.



현재 폴더가 C:\Documents and Settings\Administrator>인데, 이곳은 어떤 작업을 하기에 적당한 곳이 아니므로 임시 폴더로 가야 한다. 가령 D:\Z 라는 곳으로 가기 위해서는

d:
cd z

하는 명령어를 사용해 이동한다. ([컴퓨터 초보자를 위한 강좌] Z 폴더를 만들자 참조)




최초의 프로그램을 실행해 보자



설치가 잘되었는지 알기 위해, 다음의 빨간 코드 3줄을 "0.pl" 등의 적당한 이름을 붙여 텍스트 파일로 만든다. 유닉스용 펄 스크립트에는 일반적으로 확장자가 없지만, 윈도에서는 ".pl"이라는 확장자를 반드시 붙여야만 한다. 특별한 경우가 아니라면, "PL"을 소문자로 적는다. ("test.pl"이라는 식의 이름은 테스트용 파일로서 좋지가 않다. 유닉스에는 test라는 이름의 프로그램이 이미 있기 때문)


print "하하하하\n";
print 1 + 1, "\n";
print "Hello World\n";



D:\Z> 이런 명령 프롬프트에서 0.pl 이라고 입력한 후 엔터키만 치면 실행된다.

0.pl
또는
perl 0.pl
이라고 입력한다.



명령 프롬프트의 화면에

D:\Z>0.pl
하하하하
2
Hello World


라는 세 줄의 문자열이 나오면 성공. 다만 위의 코드에서 따옴표를 생략하면 에러가 나고, "\n" 를 생략하면 행갈이가 되지 않고 한 줄로 붙어 나온다. 그리고 코드 행의 끝에는 반드시 세미콜론(;)이 있어야만 한다.





사용자 라이브러리 폴더를, 환경 변수에 추가하자



펄의 모듈들은 다음의 폴더(디렉토리)에 있다. (D드라이브에 설치한 경우다)

        기본 라이브러리: D:\Perl\lib
        제3자(ActiveState 등)가 추가한 라이브러리: D:\Perl\site\lib

그런데 사용자 자신이 추가한 모듈들을 위의 폴더에 보관하는 것은 좋지 않다. 자신이 추가한 모듈이 다른 모듈들과 섞여 잘 알 수 없는 데다, 백업할 때 불편하기 때문.

자기 전용 라이브러리 폴더를 만든 후 펄에게 알려주는 것이 좋다.

필자의 경우, "D:\WINDOWS_\Programs\perl_\site\lib" 이라는 폴더를 만들었다. (WINDOWS_ 는 윈도 폴더가 아니라 윈도에 관련된 이런저런 파일들을 보관하는 곳.) 꼭 이런 이름으로 만들 필요는 없고, \site\lib 로 끝나는 아무 이름이면 적당하다. \site\lib 로 끝나지 않아도 상관은 없다. 다만 폴더 이름에 영문이 아닌, 한글이 들어가거나 공백이 들어가면 펄이 오작동할 수 있다.

아무튼 위와 같은 이름으로 하드 디스크에 폴더를 만든 후, 펄에게 그 사실을, 즉 사용자 라이브러리 폴더를 만들었다는 사실을 알려주어야 한다. 펄이, 로빈 윌리엄스의 "바이센테니얼 맨 (Bicentennial Man)"처럼 저절로 알 수는 없는 일이다. OS의 "환경 변수 (environment variable)"라는 곳에 사람이 손수 지정해 주어야만 펄이 비로소 그 사실을 알게 된다.


윈도2000/XP의 경우는 이렇게 조정하면 된다:

내 컴퓨터 아이콘/(오른쪽 클릭으로) 등록 정보/고급/환경 변수/시스템 변수/새로 만들기에서, "변수 이름"을 "PERLLIB"로 "변수 값"을 "D:\WINDOWS_\Programs\perl_\site\lib" 로 (따옴표 제외하고) 입력한다.


그런 후, 명령 프롬프트에서 set 이라는 명령을 실행시키면

D:\Z>set
...<생략>...
PERLLIB=D:\WINDOWS_\Programs\perl_\site\lib
...<생략>...

이라는 것이 나와야 한다.


위의 방법을 거치지 않고 명령 프롬프트 상에서 단순히
set PERLLIB=D:\WINDOWS_\Programs\perl_\site\lib
이런 식으로 하면 설정이 OS에 저장되지 않으므로 주의.

윈도98의 경우에는 C:\ 의 AUTOEXEC.BAT 에
set PERLLIB=D:\WINDOWS_\Programs\perl_\site\lib
이런 문자열을 넣어주어야 할 것이다.




가령 Foo.pm 이라는 모듈을 자신이 만들었거나 다운로드받았다면 D:\WINDOWS_\Programs\perl_\site\lib 폴더에 넣어두면 된다. 그리고 하드를 백업할 때는 펄 폴더를 모두 백업할 필요 없이, 이 D:\WINDOWS_\Programs\perl_\site\lib 폴더와 그 아래만 백업하면 된다.

모듈에 따라서는 ...\site\lib 여기 아래에 서브 폴더를 만들어야 할 경우도 있다.


관련 포스트: [Perl] 특정 펄 모듈이 이미 설치되어 있는지 확인하는 배치 파일

추천 사이트: 펄마니아






참고로, 펄은 펄 공동체에서 자원봉사자들이 개발하는 것이다. 소스만 배포하고 실행 파일은 배포하지 않기에, 사용자가 직접 소스를 자신의 OS에 맞게 컴파일을 하고 또한 자신의 OS에 필요한 모듈들을 추가하여 사용하는 것인데, 이것은 개인이 하기에는 대단히 어려운 작업이므로 ActiveState 라는 회사에서 이 작업을 대신 해주는 것이다. ActiveState는 그대신 펄/파이썬과 관련된 툴을 판매하여 회사를 운영한다.





☞ Perl(펄)

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top