Hello. I create a table:
CREATE TABLE groups ( group_id serial PRIMARY KEY, name varchar(64) UNIQUE NOT NULL, guests integer[] DEFAULT '{}' ) I add a new record to the table: INSERT INTO groups (name) VALUES ('My friends'); Now the table contains 1 record: | group_id | name | guests +----------+------------+-------- | 1 | My friends | {} I read the new record from the table using DBI: my $sth = $dbh->prepare(qq/SELECT * FROM groups/); $sth->execute(); my (@guests, $group); push(@guests, $group) while $group = $sth->fetchrow_hashref(); # Line 4 print $guests[0]->{guests}->[0]; # Why ({group_id=>1, name=>'My friends', * guests=>[0]*}) ? Output of the script: Argument "" isn't numeric in null operation at ./guestmanager.pl line 4 *0* DBD should return a reference to an empty array. But DBD returned the reference to the array containing 1 element (0). How can I have a different result: ({group_id=>1, name=>'My friends', *guests=>[]*}) PS Version of DBD::Pg is 2.9.0 .