例:
foreach my $var (@$tp)
{
my $sql=$startsql1.$var.$endsql1;
print " SQL stamt \n $sql \n";
my $sel_stmt=$dbh->prepare($sql);
$sel_stmt->execute() or warn $DBI::errstr;
my @result = $sel_stmt->fetchrow_array();
$sel_stmt->finish();
$tphash{$result[0]} = [ @result ];
}
- @tpが配列です。私は$ varを出力するときに出力を出すことはありません。
'$のtp'は配列への参照である@ $ tp'デリファレンス'ので、それを配列にします。 – rbm
このコードのどこにでも '@ tp'配列はありません。あなたはコードのどこかに '@ tp'を持っていて、このループの中で反復しようとしていますか?もしそうなら、誤って '@ tp'を入力したところで' @ $ tp'と打ちました。あなたが書いたすべてのPerlプログラムの先頭に 'use strict;'と 'use warnings;を入れてください。 –