#!/usr/bin/perl use strict; use warnings; use DBI; my $dbh = DBI->connect("dbi:Pg:dbname=MY_DB;host=localhost", 'MY_Server', 'VERYSECRET', {AutoCommit => 0}) or die("Can't connect"); # SELECT ALL ROWS my $fullsth = $dbh->prepare_cached("SELECT array_id, array_values FROM arraytesttable") or die($dbh->errstr); $fullsth->execute or die($dbh->errstr); while((my $line = $fullsth->fetchrow_hashref)) { print $line->{array_id} . ': ' . join(',', @{$line->{array_values}}) . "\n"; } $fullsth->finish; # SELECT BY ARRAY my $arrsth = $dbh->prepare_cached("SELECT array_id, array_values FROM arraytesttable WHERE array_values = ?") or die($dbh->errstr); my @german = qw(Hallo Welt); $arrsth->execute(\@german) or die($dbh->errstr); while((my $line = $arrsth->fetchrow_hashref)) { print $line->{array_id} . ': ' . join(',', @{$line->{array_values}}) . "\n"; } $arrsth->finish; $dbh->rollback;