如何在lib Path中使用变量? [英] How do you use a variable in lib Path?

查看:70
本文介绍了如何在lib Path中使用变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I would like to use the $var variable in lib path.

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

use lib "$var/lib/";

但是,当我这样做时,它会引发错误.

However when I do this it throws an error.

我想使用use lib "$var/lib/";代替use lib "/home/usr/bibfile/lib/";.

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

How can I assign a variable, so that it can be used in the setting of lib modules?

推荐答案

变量在use lib中可以正常工作,就像它们在任何字符串中一样.但是,由于所有use指令都是在BEGIN块中执行的,因此在您运行use时,变量尚未进行初始化,因此也需要在BEGIN块中放置初始化.

Variables work fine in use lib, well, just like they do in any string. However, since all use directives are executed in BEGIN block, your variable will be not yet initialized at the moment you run use, so you need to put initialization in BEGIN block too.

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

use Data::Dumper;
print Dumper \@INC;

赠予:

$VAR1 = [
      '/home/usr/bibfile/lib/',
      # ... more ...
    ];

这篇关于如何在lib Path中使用变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆