我试图从数组元素生成一个新字符串,因此:
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 ? 我怎么才能拿到?
@d[0]
$truth
不确定原因(可能是 $plate.delta 是否被视为方法调用,但在这之前逃离了点 delta 解决了这个问题。
$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