use strict; use warnings; use DBI; my $dbname = 'testdb'; my $server = 'localhost'; my $user = 'username'; my $pass = 'password'; my $dbh = DBI->connect( "DBI:InterBase:" . "dbname=" . $dbname . ";host=" . $server . ";ib_dialect=3", $user, $pass, { AutoCommit => 1, RaiseError => 1, FetchHashKeyName => 'NAME_lc' } ); my $sql4 = qq{ SELECT cant , vat , price , val , vat_val FROM v_testtable }; eval { my $st = $dbh->prepare($sql4); $st->execute; while ( my $rez = $st->fetchrow_hashref() ) { print $rez->{cant} * $rez->{price} * $rez->{vat} /100,"\t"; print "$rez->{vat_val}\n"; } }; if ($@) { warn "Transaction aborted because $@"; } $dbh->disconnect();