-3

我有一个在执行数据库查询后自动填充的数组。

因此,例如,我@array的长度会根据数据库查询的结果而有所不同。我想将数组的每个元素分配给不同的变量。

例如:

my $length = @array;

如果长度等于 3,则应自动创建 3 个变量,并按此顺序分配给它们的数组元素。

$var1 = $array[0];
$var2 = $array[1];
$var3 = $array[2];
4

1 回答 1

4

如果长度等于 3,则应自动创建 3 个变量,并按此顺序分配给它们的数组元素。

不,绝对不应该以这种方式创建变量。

为什么“使用变量作为变量名”是愚蠢的


如果通信失败,您可能正在寻找以下内容:

my ($id, $name, $address, $phone) = @$row;

@$row如果包含的字段太少,以后的变量将是 undef 。

于 2013-06-10T22:16:07.810 回答