use strict; use warnings; ... sub write_status($$$$) { my $dbh = DBI->connect("DBI:mysql:mysql_socket=" ..... ); ... my $result = $dbh->begin_work(); ... $result = $dbh->do("UPDATE results ...."); ... $result = $dbh->commit(); } sub check_apps($\@) { my $dbh = DBI->connect("DBI:mysql:mysql_socket=" ..... ); ... my $sth = $dbh->prepare("SELECT * FROM ...."); ... if (! defined $sth->execute()) { ... } ... write_status($host, $app, $status, $version); } my $dbh = DBI->connect("DBI:mysql:mysql_socket=" ..... ); ... my $sth = $dbh->prepare("SELECT * FROM ...."); ... ... check_apps($host, @processes); #### use strict; use warnings; ... sub write_status($$$$) { my $dbh_write = DBI->connect("DBI:mysql:mysql_socket=" ..... ); ... my $result = $dbh_write->begin_work(); ... $result = $dbh_write->do("UPDATE results ...."); ... $result = $dbh_write->commit(); } sub check_apps($\@) { my $dbh_apps = DBI->connect("DBI:mysql:mysql_socket=" ..... ); ... my $sth = $dbh_apps->prepare("SELECT * FROM ...."); ... if (! defined $sth->execute()) { ... } ... write_status($host, $app, $status, $version); } my $dbh_main = DBI->connect("DBI:mysql:mysql_socket=" ..... ); ... my $sth = $dbh_main->prepare("SELECT * FROM ...."); ... ... check_apps($host, @processes);