<> [[Perl]]을 사용하면 접했던 애매한 문제들에 대한 문제와 그 해결법을 FAQ형식으로 모아볼 생각입니다. --[[microcos]] == Perl 모듈을 including 시키는 디렉토리 설정 ( @INC의 영구 변경 ) == RedHat 배포판을 설치하면 perl은 {{{/usr/bin}}}에 설치가 된다. 만약 RedHat 7.3을 설치하면 Perl 5.6.1이 기본으로 설치되며 경우에 따라 5.8.3을 RPM으로 설치하지 않고 source를 받아서 설치하면 기본 설치 디렉토리가 {{{/usr/local/bin}}}과 {{{/usr/local/lib}}}에 설치가 된다. 물론 {{{./configure}}}에서 세부지정을 바꿔서 가능하지만 RedHat 배포판에 따라 조금씩 바뀌므로 정확히 지정하는 것에 신경이 많이 쓰인다. 따라서 source로 설치하는 경우에 기본 디렉토리인 {{{/usr/local}}}이하에 설치되는 경우가 많다. 이렇게 설치하면 기존에 설치된 경로에 있는 라이브러리를 불러올 때 오류가 많이 발생한다( @INC 배열에 참조할 디렉토리 리스트가 등록되어 있음). 다음은 Perl 5.6.1이 설치된 RedHat 7.3에 Perl 5.8.3을 source로 설치한 뒤의 @INC 배열의 내용이다. {{{ #perl -V ...중략... @INC: /usr/lib/perl5/5.8.3/i686-linux /usr/lib/perl5/5.8.3 /usr/lib/perl5/site_perl/5.8.3/i686-linux /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl . }}} @INC 배열에 펄 모듈을 경로를 추가하는 방법은 {{{perl -I/usr/directory/}}}하거나 펄 코드에 다음과 같이 {{{use lib}}} programa를 추가하는 것이다. {{{ #!/usr/local/bin/perl -w use lib "/usr/local/lib/perl5/..."; use MyPerlPM . }}} 하지만, 이런 방법은 매번 사용하기에는 불편하므로 @INC에 미리 지정하는 것 좋다. 이럴때는 {{{/etc/profile}}}를 편집하여 환경변수 {{{PERL5LIB}}}를 추가하면 된다. 편집할 파일을 불러오고, {{{ #vi /etc/profile }}} 다음과 같이 환경변수를 설정 라인을 추가. {{{ export PERL5LIB=/usr/local/lib/perl5/... }}} 시스템에 반영한다. {{{ #source /etc/profile }}} 지금까지의 내용을 요약하면 1. {{{perl -I}}} 옵션 사용 1. {{{use lib}}} 프로그래마 사용 1. {{{PERL5LIB}}} 환경변수 설정 이다.