sub barf_my_guts_out { my $cgi=shift; open TRACE,sprintf("> /tmp/%s.debug.%d.txt",$0,$$) or die "Cannot open trace log: $!"; printf TRACE "CGI Variables Passed: \n"; printf TRACE "%20s\t%30s\n\n","Key","Value"; foreach my $key($cgi->param){ printf TRACE "%20s\t%30s\n",$key,$cgi->param($key); } printf TRACE "\n\nEnvironment Values:\n"; printf TRACE "%20s\t%30s\n\n","Key","Value"; foreach my $key (sort keys %ENV){ printf TRACE "%20s\t%30s\n",$key,$ENV{$key}; } } #### #!/usr/bin/perl -w use strict; use CGI; # more stuff my $cgi = CGI->new(); # or however my $verbose_debug=1; barf_my_guts_out() if $verbose_debug;