使用perl的Config :: Simple模块读取配置文件时遇到问题

时间:2015-03-10 17:54:57

标签: arrays perl config die

我正在尝试使用Config :: Simple模块在perl中读取一个简单的配置文件。此配置文件中的一行是一个数组,如下所示:

# EXTENSIONS TO TRANSFER
extensions = "\.mpg\$","\.txt\$"

我可以成功读取此数组(并验证数据),如下所示:

@ext = $cfg->param("extensions");
print @ext;

.mpg$ .txt$

如果我尝试进行一些基本的错误检查,我会遇到问题,具体来说,如果配置文件中不存在该参数,就会死掉。但是,如果它成功解析数组,它只打印出内存位置而不是实际内容:

@ext = $cfg->param("extensions") || die "Failed to read 'extensions'";
print @ext;

ARRAY(0x9403788)

为什么会发生这种情况,我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:2)

当您清楚划分优先权时会发生什么?

(@ext = $cfg->param("extensions")) || die "Failed to read 'extensions'";
print @ext;

或者使用较低的优先级or工作吗?

@ext = $cfg->param("extensions") or die "Failed to read 'extensions'";
print @ext;

有关详细信息,请参阅Perl Idioms Explained - && and || "Short Circuit" operators