Я застрял в использовании 'fetchrow_arrayref' в Perl-скрипте. Может ли кто-нибудь указать, где я ошибаюсь в сценарии? Буду признателен за то, что вы могли бы сообщить мне. Спасибо.Как правильно использовать fetchrow_arrayref в perl-скрипте?
Проблемы я сталкиваюсь являются:
(1) печать $ ID; < -Это не печатает содержимое $ id.
(2) print "$ list [1]"; <-это печатает ARRAY (0x8da6978) вместо фактического содержимого.
(3) обратный (@list); < -Это не отменяет содержимое @list.
(4) print "@ {$ _} \ n"; < - «\ n» не работает. Также зачем нам @ {}?
(5) print "\ n"; < -это не работает.
(6) print "@list"; < -это принт ARRAY (0x8da6978).
(7) print Dumper (@ инверсия); < -Программы отлично, но содержимое массива не отменено.
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
use Data::Dumper;
....
my $dbh = DBI->connect($dbname, $dbuser, $dbpassword) || die "Error $DBI::errstr";
my $sth = $dbh->prepare("SELECT * FROM name WHERE id = 11");
$sth->execute;
my @list =();
while(my $element = $sth->fetchrow_arrayref){
push(@list, $element);
}
$sth->finish;
$dbh->disconnect;
my ($id, $name, $email, $telephone) = @list;
print "Content-Type: text/html; charset=UTF-8\n\n";
print $id; (problem 1)
print "$list[1]"; (problem 2)
my @inverse = reverse(@list); (problem 3)
foreach (@inverse){
print "@{$_} \n"; (problem 4)
}
print "\n"; (problem 5)
print "@list"; (problem 6)
print Dumper(@inverse); (problem 7)
exit;
Вы должны понимать, что означает средство ..' $ list [1] 'prints' ARRAY (0x8da6978) ', который является ссылкой try' $ list -> [1] '. попытайтесь понять, как массировать смещение. – run
, если вы предоставите значения самосвала, то любой может помочь вам в этом форуме. – run
Значения самонаведения приведенного выше сценария: ARRAY (0x9e387a0) 11 Имя [email protected] 03-5725-8830 ARRAY (0x9e387a0) $ VAR1 = ['11', 'Name', '[email protected]', '03 -5725-8830 ']; print "/ n" вообще не работает. –