Perl解释变量声明

srs*_*sci 0 arrays variables perl hash

大家好我在perl上有简单的新手问题.我正在查看某人的perl代码,他有一些变量声明如下:

my $OutputFiles=[];
$OutputFiles = 
[
 { FID => 789133, TAGE => "BRWSGF_05K", nfiles => 1, Suffix => 'jpg' },
 { FID => 789134, TAGE => "BRWSGF_W05K", nfiles => 1, Suffix => 'jpg' }, 
 { FID => 789135, TAGE => "BRWSGF_E05K", nfiles => 1, Suffix => 'jpg' },
];
Run Code Online (Sandbox Code Playgroud)

它似乎是某种哈希数组,但变量声明$OutputFiles不像数组那样,所以我很困惑.请让我知道$OutputFiles应该是什么变量,以及如何操纵这样的变量.我再次坦率地承认我是Perl新手.

Que*_*tin 5

[]创建一个数组引用,这是一个标量.

my $foo = [1, 2, 3];
Run Code Online (Sandbox Code Playgroud)

给出相同的值$foo:

my @bar = (1, 2, 3);
my $foo = \@bar;
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅perldoc perlref.