All - I'm running under Win2k. I know that signals aren't totally supported under Windows, but I've got some questions related to DBI.
In the following script, I can't seem to catch the SIG INT after a connection to the database is made (even w/o making any queries). Without the connect calls, I can catch a SIG INT without a problem. Right now, the only way to stop this script is to use the task manager and kill it - is there a better way to do this? Thanks, Mark ################################################### #!perl -w use strict; use diagnostics; use DBI; my $quit = 0; $SIG{INT} = \&catch_int; while (!$quit) { print "in while()\n"; # Comment out these two lines and it works fine. ################## my $result = query_db(); print $result; ################## my $i = 0; for ($i = 0; $i < 10; $i++) { sleep (1); print ". "; } } sub query_db { # Build the database connection string. my $dbstring = "DBI:mysql:database01:127.0.0.1:3306"; # Connect to the database. my $dbh = DBI->connect($dbstring,"user","password") or die "Can't connect to mysql on 127.0.0.1: $DBI::errstr\n"; # Assume result from the db is named result. my $result = "Test"; print "Disconnecting \$dbh\n"; $dbh->disconnect() or warn "Disconnection failed: $DBI::errstr\n"; return ($result); } sub catch_int { my $sig = shift; print "Caught $sig\n"; $quit++; } -- Mark Riehl Agile Communications, Inc. Email: [EMAIL PROTECTED] Business: (732) 528-9305 Fax: (732) 528-9308 Cell: (732) 996-7630