in reply to no uninitialized warnings

Thanks for all the input! I used Data::Dumper to print out larger data structures, but using it to print out the names is very nice too.
print Data::Dumper->Dump([$var1, $var2, $var3], [qw($var1 $var2 $v +ar3)]);


Speaking of a $debug switch to print out information only while debugging:
I usually use an if statement modifier so I can use more than one level of verbosity
my $v=0; #0 for silent, 1 for main info, 2 for all info ... print "something important\n" if $v > 0; print "something not so important\n" if $v >1;
si_lence