sub printTransaction{ ... #$print is postscript content generated with Postscript::Simple my $statement ="insert into Printed (thisid,[datetime],id,printedby,data) values ('$thisid','$now','$id','$userid',cast('$print' as varbinary(MAX)))"; eval{ $db->do($statement); }; if ($@){ warn "Aborted because $@"; $db->rollback; return 0; } ... }