in reply to Am I missing something major here (system/exec)?

You must print the HTTP headers!

use strict; use warnings; use CGI::Carp qw(fatalsToBrowser); my $program = "C:\full\path\to\index.bat"; # unless it's in the same d +irectory. print "Content-type: text/html\n\n"; # this is the header the browser +expects. system $program == 0 or die "$program exited funny: $!";

Update: Updated comments.

Update: Updated system usage, as japhy said.

Update: As ww pointed, you have to return something to browser, even a simple html document saying everything's ok, or a simple redirect to another web page. If you don't, the browser will always complain about that.

Igor 'izut' Sutton
your code, your rules.