# THIS DOESN'T WORK: my $versione_nota = $dbic->resultset('VersioneNotaLt')->search({ ser_num => $ser_num, mdsrel_id_req => $mdsrel_id_req})->count(); SELECT COUNT( * ) FROM versione_nota_lt me WHERE ( mdsrel_id_req = ? AND ser_num = ? ): '2048', '2' <- FETCH('Active')= 1 at DBI.pm line 499 <- ping= 1 at DBI.pm line 499 <- prepare_cached('SELECT COUNT( * ) FROM versione_nota_lt me WHERE ( mdsrel_id_req = ? AND ser_num = ? )' HASH(0x9e71d58) ...)= DBI::st=HASH(0x9e9329c) at DBI.pm line 839 <- execute(2048 '2')= 1 at DBI.pm line 743 <- fetchrow_array= ( '1' ) [1 items] row1 at Cursor.pm line 86 <- FETCH('Active')= 1 at Cursor.pm line 163 <- finish= 1 at Cursor.pm line 163 # THIS WORKS FINE: my @versione_nota_set = $dbic->resultset('VersioneNotaLt')->search({ ser_num => $ser_num, mdsrel_id_req => $mdsrel_id_req}); my $versione_nota = $#versione_nota_set; # EVEN THIS WORKS #!/usr/bin/perl -w use strict; use warnings; use locale; use Carp; use DBI; use Data::Dumper; my $dbi_base = "dbi:Pg:dbname=dlservice_test"; my $dbi_user = "dlservice"; my $dbi_pass = *; #### MAIN #### # Si connette al postgres my $dbh = DBI->connect($dbi_base, $dbi_user, $dbi_pass, {AutoCommit => 0, RaiseError => 1}) or croak $DBI::errstr; my $sth= $dbh->prepare_cached(q{ SELECT COUNT( * ) FROM versione_nota_lt me WHERE ( mdsrel_id_req = ? AND ser_num = ? ) }) or croak $DBI::errstr; $sth->execute(2048, '2'); my @res = $sth->fetchrow_array(); print Dumper(@res); <- prepare_cached(' SELECT COUNT( * ) FROM versione_nota_lt me WHERE ( mdsrel_id_req = ? AND ser_num = ? ) ')= DBI::st=HASH(0x81f9ffc) at test line 21 <- execute(2048 '2')= 1 at test line 26 <- fetchrow_array= ( '0' ) [1 items] row1 at test line 28 $VAR1 = '0';