Perl6:第一个数组元素放入字符串,第二个元素放入字符串失败

Perl6: First array element places into string, 2nd fails to place into string

我正在尝试从数组元素创建一个新字符串:

my $truth = "s3://dir/@d[$d1]/$plate/@d[$d1].$plate.delta";

但问题是这给了

s3://dir/pgr_9/1/@d[0].1.delta

什么时候应该给出

s3://dir/pgr_9/1/pgr_9.1.delta

为什么这个数组元素 @d[0] 没有插值到字符串 $truth 中?我怎样才能得到它?

不清楚原因(可能$plate.delta被认为是方法调用?),但是在delta之前转义点可以解决问题。

my $plate = 1;
my $d1 = 0;
my @d;
@d[0] = "pgr_9.1";

say "s3://dir/@d[$d1]/$plate/@d[$d1].$plate\.delta";

输出:

s3://dir/pgr_9.1/1/pgr_9.1.1.delta