my $dbh = DBI->connect("DBI:DB2:xxx",'xxx','xxx',{ RaiseError => 0, AutoCommit => 1 }) or die ("Could not connect to database :".DBI->errstr); my %hash = ( '2017-01-01 00:00:00' => '2017-01-31 00:00:00', '2017-02-01 00:00:00' => '2017-02-28 00:00:00', '2017-03-01 00:00:00' => '2017-03-31 00:00:00', '2017-04-01 00:00:00' => '2017-04-30 00:00:00', '2017-05-01 00:00:00' => '2017-05-31 00:00:00', '2017-06-01 00:00:00' => '2017-06-30 00:00:00', '2017-07-01 00:00:00' => '2017-07-31 00:00:00', '2017-08-01 00:00:00' => '2017-08-31 00:00:00', '2017-09-01 00:00:00' => '2017-09-30 00:00:00' ); #open(my $fh , "+>/var/www/bin/filesample.txt"); foreach my $key(sort keys %hash) { chomp($key); my $sql = "select distinct FID_CUST from session where DAT_END between ? and ?"; chomp($sql); #print "\$sql = $sql\n"; my $sth = $dbh->prepare($sql); $sth->execute($key,$hash{$key}) or die "Couldn't execute statement: $DBI::errstr"; print "sth: $sth\n"; while (my $arr = $sth->fetchrow_arrayref()){ print "in while\n"; print "@$arr\n"; } $sth->finish(); } #close FH; $dbh->disconnect;