我有一个数组,我在进行数据库查询后自动填充。
所以我有例如@array
,其长度将根据数据库查询的结果而变化。我想将数组的每个元素分配给另一个变量。
例如:
my $length = @array;
如果长度等于3,则应自动创建3个变量,并按此顺序为数组元素分配。
$var1 = $array[0];
$var2 = $array[1];
$var3 = $array[2];
答案 0 :(得分:4)
如果长度等于3,则应自动创建3个变量,并按此顺序为其分配数组元素。
不,绝对不应该以这种方式创建变量。
Why it's stupid to "use a variable as a variable name"
关于通讯失败的可能性,也许您正在寻找以下内容:
my ($id, $name, $address, $phone) = @$row;
如果@$row
包含的字段太少,则后面的变量将为undef。