У меня есть небольшой Perl-скрипт, который должен оценить равенство двух параметров и небольшой возврат из базы данных.
my ($firstId, $secondId, $firstReturnedId, $secondReturnedId, $picCount);
my $pics = $dbh->prepare(qq[select id from pictures limit 10]);
$firstId = q->param('firstId');
$secondId = q->param('secondId');
$pics->execute or die;
my $picids = $pics->fetchall_arrayref;
$picCount = scalar(@{$picids});
$firstReturnedId = $picCount > 0 ? shift(@{$picids}) : 0;
$secondReturnedId = $picCount > 1 ? pop(@{$picids}) : $firstReturnedId;
Здесь, быстрый взгляд на мой отладчик показывает, что $ picCount = 1 и $ firstReturnedId = 9020 и $ secondReturnedId = 9020. Однако оба они обозначены как
ARRAY(0x9e79184)
0 9020
в отладчике, поэтому, когда я выполняю окончательную проверку
my $result = (($firstId == $firstReturnedId) && ($secondId == $secondReturnedId)) ? 1 : 0;
Я получаю $ result = 0, а это не то, что я хочу.
Что я делаю не так?