如何将参数传递给perl qw []?

问题描述:

我正在为某些数据库备份自定义一个开源Perl脚本。我对Perl没有太多的知识。有人能告诉我如何将参数传递给qw[]如何将参数传递给perl qw []?

例如原来的代码是这样的

@selected_databases = qw[testdb1 testdb2 testdb3]; 

我想将其转换为类似下面

$_dblist = "testdb1 testdb2 testdb3"; 
@selected_databases = qw[$_dblist]; 

,但它无法正常工作。有人能告诉我如何将一个变量传递给qw []?

+1

可能重复的[是否有内插引用类似单词列表运算符?](http://*.com/questions/5771428/is-there-an-interpolating-quote-like-word-list -operator) – Zaid 2012-01-27 08:24:55

qw不支持插值。根据perl-doc。因此,你不能这样做,这是行不通的。要达到您所期望的目标,请使用split函数。

$_dblist = "testdb1 testdb2 testdb3"; 
@selected = split(' ', $_dblist); 
+0

完美的作品。谢谢。 – codlib 2012-01-27 05:51:21

+0

很高兴它的工作原理,不要忘记接受正确的答案= D – zellio 2012-01-27 05:57:39

+0

编辑'split'的参数来匹配qw的行为。 – ikegami 2012-01-27 07:38:08