@ary = @{$dbh->selectcol_arrayref($sql)}; #### #!/usr/bin/perl -w use strict; use DBI; $\ = "\n"; # Input dbname, user & pass on the command line my ($dbname, $dbuser, $dbpass) = @ARGV; my $dbh = DBI->connect("DBI:Oracle:$dbname", $dbuser, $dbpass, {RaiseError => 1}) or die $DBI::errstr; # This query returns no rows my $sql = qq~ SELECT dummy FROM dual WHERE dummy = '1' ~; # This works just fine... my $ref = $dbh->selectcol_arrayref($sql) or die $dbh->errstr, $!; print "\$ref is defined: $ref" if defined $ref; print for @$ref; # But this one dies! my @ary = @{$dbh->selectcol_arrayref($sql)} or die $dbh->errstr, $!; print for @ary; #### No such file or directory at ./dbtest.pl line 17.