你如何在lib Path中使用变量?

Sou*_*ode 13 perl perl-module

我想在lib路径中使用$ var变量.

my $var = "/home/usr/bibfile;"

use lib "$var/lib/";

但是,当我这样做时,它会抛出一个错误.

我想用use lib "$var/lib/";而不是use lib "/home/usr/bibfile/lib/";.

如何分配变量,以便可以在lib模块的设置中使用?

Ole*_*kov 23

首先,你有一个简单的语法错误 - 你use lib在第一行后丢失了.use否则变量应该可以正常工作BEGIN.

但是,由于所有use指令都是在BEGIN块中执行的use lib,因此在运行时您的变量将是未初始化的,因此您还需要在use块中进行初始化.

my $var;
BEGIN { $var = "/home/usr/bibfile"; }
use lib "$var/lib/";

use Data::Dumper;
print Dumper \@INC;
Run Code Online (Sandbox Code Playgroud)

得到:

$VAR1 = [
      '/home/usr/bibfile/lib/',
      # ... more ...
    ];
Run Code Online (Sandbox Code Playgroud)