У меня есть код, подобный следующему:Perl: Создание новых переменных внутри цикла
my $player_2ubid = grep { $_->ubid eq "2ubid" } @{$room_members };
my $player_3ubid = grep { $_->ubid eq "3ubid" } @{$room_members };
# ....
my $player_11ubid = grep { $_->ubid eq "11ubid" } @{$room_members };
Чтобы избежать повторения, я хочу пойти на петлю
for my $i (2 .. 11){
my $player_.$i.ubid = grep { $_->ubid eq "$i.ubid" } @{$room_members };
}
Однако это приводит к синтаксической ошибке:
Can't modify concatenation (.) or string in scalar assignment at ***.t line 100, near "};"
Что я здесь делаю неправильно?
' "$ i.ubid"' -> '$ я "ubid" или' "$ {я} ubid" ' – KoVadim
@KoVadim Благодарю. Я подозреваю, что $ player _. $ I.ubid также может быть в беде – ado
Я думаю, вам следует изучить слово «массив». – KoVadim