use strict; use warnings; use DBI; use File::Copy qw(copy); my $dsn = 'DBI:ODBC:somedb'; my $db_user = ''; my $db_pass = ''; my $dbh = DBI->connect($dsn,$db_user,$db_pass ) or die $DBI::errstr; if (1) { # This causes the warning my $loh = $dbh->selectall_hashref('select 1 as a, 2 as b','a'); } if (0) { # This causes the warning my $sth = $dbh->prepare('select 1 as a, 2 as b'); $sth->execute(); my $loh = $sth->fetchall_hashref('a'); $sth->finish; } if (0) { # This does not cause the warning my $aoa = $dbh->selectall_arrayref('select 1 as a, 2 as b'); } if (0) { # This does not cause the warning my $sth = $dbh->prepare('select 1 as a, 2 as b'); $sth->execute(); my $hash = $sth->fetchrow_hashref(); $sth->finish; } copy('a','b') or die "Failed to copy a to b. $!\n"; $dbh->disconnect;