这里是一位新生的 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";
}
打印 $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)
在此先感谢您提供正确方向的任何指示!