sub check_database_app { my $check_for = $_[0] || die "app name not passed!\n"; local $SIG{'__WARN__'} = sub { my $err = "eat the error $_[0]"; }; my $sth = $DBH->prepare("SELECT application FROM global") or die "Couldn't prepare statement: " . $DBH->errstr; $sth->execute() or do { $sth->errstr() =~ /no such table/i and return 0; die "Unknown error: " . $sth->errstr(); return 0; }; my $app = ($sth->fetchrow_array())[0]; $app eq $check_for ? return 1 : return 0; }