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

 
Previous Post 구글 한국 연구소 개설과 국내 포털 주가 하락파이어폭스가 좀더 가벼워지도록[영화/소설] 조제와 호랑이와 물고기들 / 이케와키 치즈루지메일(Gmail) 현재 용량 2682 MB (약 2.6 기가)블로거의 블로그 검색[펄/Perl] 해쉬: 최대값 최소값 가진 키 구하기아톰 피드 주소 (Atom feed)[펄/Perl] 배열(Array) 덤프; 디버그용우분투 리눅스 명령어 목록; Ubuntu Linux Command List[체스/Chess] 아인슈타인 vs. 오펜하이머

[Perl] 특정 펄 모듈이 이미 설치되어 있는지 확인하는 배치 파일

Thursday, January 12, 2006

펄은 자신이 직접 모든 것을 만들어 쓰는 언어가 아니라, 남이 만든 코드를 가져와 조립하는 언어다.

CPAN이라는 방대한 코드 창고가 있다. 하루에도 전세계에서 수십 개의 코드 즉 모듈이 올라온다. 펄 프로그래머는 이것을 다운로드 받아서 사용하기만 하면 된다. (물론 이것이 말처럼 그리 쉬운 일은 아니다.)

모듈들을 사용하기 위해서는, 모듈이 이미 자신의 하드디스크에 설치되어 있는지 아닌지 먼저 확인해야 한다. 당연한 얘기지만, 이미 설치되어 있다면 다운로드 받을 필요가 없다. 그런데 특정 모듈이 설치되어 있는지 아닌지 알기 위해서는, 모든 펄 모듈 디렉토리를 찾아봐야 할 것인데 귀찮은 작업이다.

다음의 배치 파일(Win2000/XP용)을 사용하면 쉽게 알 수가 있다. 배치 파일 이름 뒤에, 자신이 찾고 있는 모듈의 이름을 넣고 실행시키면 1초만에 결과가 나온다. 이렇게 굳이 배치 파일(batch file)까지 만들지 않아도 되지만 이렇게 해 놓으면 타이핑도 줄일 수 있고, 한눈에 알 수가 있다.

텍스트 파일로 만든 후 "findpm.bat" 등으로 적당한 이름을 주고, 패스(PATH)가 걸린 아무 디렉토리에나 넣어두면 된다.



@echo off
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 특정 Perl 모듈이 이미 설치되어 있는지 아닌지 확인
::
::        findpm <모듈 이름>
::
::        ex) findpm CGI::Carp
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

if "%1" == "" goto help

perl -M%1 -e 1.

echo.

if "%errorlevel%" == "0" (
   echo  ##############################################################################
   echo. #
   echo  #        %0: OK. '%1' module exist.
   echo. #
   echo  ##############################################################################
) else (
   echo          %0: Module '%1' NOT found!
)

echo.

goto quit




:help
   echo.
   echo         Check the particular Perl Module is installed or not.
   echo.
   echo.
   echo                 Usage:   %0 ^<module name^>
   echo.
   echo.
   echo                 Example: %0 CGI::Carp
   echo.


:quit






* 모듈이 이미 있을 때는 다음의 메시지:

D:\Z>findpm CGI::Carp

###################################
#
# findpm: OK. 'CGI::Carp' module exist.
#
###################################




* 모듈이 없을 때는 다음과 같은 어수선한 메시지:

D:\Z>findpm Foo
Can't locate Foo.pm in @INC (@INC contains: D:\WINDOWS_\Programs\perl_\site\lib
D:/Perl/lib D:/Perl/site/lib .).
BEGIN failed--compilation aborted.

findpm: Module 'Foo' NOT found!






("[Perl/펄] 윈도용 ActivePerl 설치법" 참조)

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