0

脚本 A

use strict;

our %pre_pkg_configs;

$pre_pkg_configs{locDbList}={qw(default default_test)};

脚本 B

//加载脚本A

my @locDbNames = ();

foreach my $dbName ($pre_pkg_configs{"locDbList"}){
  print $dbName;
  push(@locDbNames,$dbName);
}

输出

HASH(0x119b368)

我期待值:默认 default_test

4

1 回答 1

5

{ ... }创建对哈希的引用(您称之为关联数组)。

如果你打印一个参考,你会得到像HASH(0x119b368)

听起来你想要一个数组,所以使用 arrayref 而不是 hashref:

$pre_pkg_configs{locDbList}=[ qw(default default_test) ];

然后,在打印的时候,需要将arrayref转换成数组:

foreach my $dbName (@{$pre_pkg_configs{"locDbList"}}){
于 2013-10-14T11:29:27.387 回答