วันพุธ, เมษายน 18, 2555

Perl Library Path

ในกรณีที่ต้องการติดตั้ง Perl library ในโฮมของเราเอง เพราะต้องการทดสอบหรือเพราะว่าไม่มีสิทธิ์ root ก็ตาม หลังจากติดตั้งโดยใช้

perl Makefile.PL PREFIX=PERL_LIB_PATH
make
make test
make install

ซึ่งเมื่อกำหนดให้ไปไว้ที่ไหนไปมันก็จะเอา lib/perl5/site_perl/PERL_VERSION ไปต่อท้าย เวลาจะอ้างก็ต้องใส่ให้ครบ

จริงๆ นอกจาก PREFIX ก็ยังมี INSTALLBIN, INSTALLPRIVLIB, INSTALLSITELIB, INSTALLSCRIPT, INSTALLMAN1DIR และ INSTALLMAN3DIR อยากปรับละเอียดก็ตามสบาย

แล้วสำหรับสคริปท์เดิม ถ้าไม่ทำอะไรเลยเวลารันมันก็จะด่าเรา วิธีแก้ปัญหามี 3 แบบ แล้วแต่จะชอบแบบไหน


  1. เพิ่ม -I เข้าไปที่ shebang
    #!/usr/bin/perl -I PERL_LIB_PATH
  2. เพิ่ม environment variable PERL5LIB
    export 
    PERL5LIB=PERL_LIB_PATH
    หรือ

    setenv 
    PERL5LIB PERL_LIB_PATH
  3. ใช้โมดูล lib
    use lib 
    PERL_LIB_PATH;