无法使用 perl 的 Config::Simple 模块读取配置文件并死掉

Trouble reading config file with perl's Config::Simple module and 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)

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

当你清楚地划分优先级时会发生什么?

(@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