Здесь новоиспеченный Perl-разработчик. Я ломал себе голову и искал в Интернете, пытаясь понять это ... раздраженный, я пришел к вам в поисках ясности.
У меня есть следующий код (остались только соответствующие части), так как остальные работают):
my @arrMissingTids;
@arrMissingTids = %hshTids;
my $missingtid;
foreach $missingtid (@arrMissingTids) {
print "$missingtid\n";
}
Это хорошо работает, возвращая значения, которые я хочу видеть в массиве:
500000246,500000235,500000185,500000237,500000227,500000252
Однако, когда я передаю это подпрограмме и включаю ее в имя переменной, она не предоставляет список, как написано выше, а просто номер 1. Код для этого ниже:
myqry(@arrMissingTids);
sub myqry($) {
my $missingtids = @_;
$sql = "select
i.tid i_tid, i.name i_name
from
instrument i
where i.tid in ($missingtids)";
print "$sql/n";
}
Print $sql возвращает следующее:
Select i.tid i_tid, i.name i_name from instrument i where i.tid in (1)
Когда я хочу, чтобы он вернул следующее:
Select i.tid i_tid, i.name i_name from instrument i where i.tid in (500000246,500000235,500000185,500000237,500000227,500000252)
Заранее спасибо за любые указатели в правильном направлении!
($)
, см. мой ответ;) - person CodeClown42   schedule 09.05.2012