mwultong Blog ... 프로그래밍 / 계산기

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

 
Thursday, January 12, 2006

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


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

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

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

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

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


특정 펄 모듈이 이미 설치되어 있는지 확인하는 BAT 파일

파일명: findpm.bat
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함

@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 설치법"



tag: perl
Perl | 펄

0 Comments:

<< Home RSS 2.0 feed

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